64 lines
2.9 KiB
PHP
64 lines
2.9 KiB
PHP
<?php
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Signatures CABM
|
|
|--------------------------------------------------------------------------
|
|
| Paramètres de l'application. Les valeurs sensibles viennent du .env.
|
|
| Voir docs/01-entra-app-registrations.md pour l'origine de chaque identifiant.
|
|
*/
|
|
|
|
return [
|
|
|
|
// Tenant d'origine (CABM). D'autres tenants (communes) pourront être ajoutés en base plus tard.
|
|
'default_tenant' => [
|
|
'name' => env('SIGNATURE_TENANT_NAME', 'CA Béziers Méditerranée'),
|
|
'entra_tenant_id' => env('ENTRA_TENANT_ID'),
|
|
],
|
|
|
|
// App Registration « back-office » (confidentielle) : connexion admin + synchro Graph.
|
|
'graph' => [
|
|
'client_id' => env('GRAPH_CLIENT_ID'),
|
|
'client_secret' => env('GRAPH_CLIENT_SECRET'),
|
|
'base_url' => 'https://graph.microsoft.com/v1.0',
|
|
// Seuls les groupes dont le nom commence par ce préfixe sont synchronisés
|
|
// (signature_mail_* pour les templates, signature_role_* pour les rôles).
|
|
'group_prefix' => env('SIGNATURE_GROUP_PREFIX', 'signature_'),
|
|
'timeout' => 30,
|
|
],
|
|
|
|
// App Registration « add-in » (SPA + NAA) : audience des jetons reçus par l'API.
|
|
'addin' => [
|
|
'client_id' => env('ADDIN_CLIENT_ID'),
|
|
// Audiences acceptées (client id et/ou Application ID URI).
|
|
'audiences' => array_filter(array_map('trim', explode(',', (string) env('ADDIN_API_AUDIENCES', env('ADDIN_CLIENT_ID', ''))))),
|
|
'required_scope' => env('ADDIN_API_SCOPE_NAME', 'access_as_user'),
|
|
'jwks_cache_seconds' => 86400,
|
|
'leeway_seconds' => 120,
|
|
],
|
|
|
|
// Rôles du back-office : nom exact du groupe AD synchronisé -> rôle.
|
|
// Un utilisateur membre de plusieurs groupes reçoit le rôle le plus élevé.
|
|
'roles' => [
|
|
'superadmin' => env('SIGNATURE_ROLE_SUPERADMIN_GROUP', 'signature_role_superadmin'),
|
|
'admin' => env('SIGNATURE_ROLE_ADMIN_GROUP', 'signature_role_admin'),
|
|
'editor' => env('SIGNATURE_ROLE_EDITOR_GROUP', 'signature_role_editeur'),
|
|
],
|
|
|
|
// Variante utilisée en réponse / transfert quand l'agent n'a rien choisi : short | full | none
|
|
'default_reply_variant' => env('SIGNATURE_DEFAULT_REPLY_VARIANT', 'short'),
|
|
|
|
// Dossier des images de signature (servi par Nginx sous /img). Surchargé dans les tests.
|
|
'image_path' => env('SIGNATURE_IMAGE_PATH', public_path('img')),
|
|
'image_max_kb' => 2048,
|
|
|
|
// Fuseau des dates saisies et affichées dans le back-office (périodes de campagne).
|
|
'timezone' => env('SIGNATURE_TIMEZONE', 'Europe/Paris'),
|
|
|
|
// URL publique (images, liens).
|
|
'public_url' => rtrim((string) env('APP_URL', 'https://signature.beziers-mediterranee.fr'), '/'),
|
|
|
|
// Réseaux autorisés pour /admin (vide = pas de filtrage). Ex. "10.0.0.0/8,192.168.0.0/16"
|
|
'admin_allowed_cidrs' => array_filter(array_map('trim', explode(',', (string) env('SIGNATURE_ADMIN_ALLOWED_CIDRS', '')))),
|
|
];
|