Configuration de l'API (backend ABP)
Le fichier de configuration est appsettings.json.
Le tableau ci-dessous récapitule les variables d'environnement à créer pour configurer le backend ABP :
-Les valeurs 'sensibles' (passphrase, mdp, etc) de production sont dans le Keepass.
App
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| AppId | 1 | Identifiant unique de l'application Portail dans écosystème CAM pour les services tel que GenDoc |
| AzureAd__ClientId | (valeur sensible) | TODO: Contrôler le besoin |
| AbpLicenseCode | Vide. La clé est intégrée dans le code. | Facultatif. Clé de licence ABP PRO, déjà intégrée dans le code source. Intégré dans le appsettings.secret.json (nécessaire au démarrage du service). |
| App__AngularUrl | https://dev.societaire.cam.nc | URL publique du frontend Angular. À adapter selon l'environnement. |
| App__CorsOrigins | https://dev.societaire.cam.nc,https://.cam.nc,http://localhost:4200 | Origines autorisées pour le CORS. À adapter selon l'environnement. (Les deux syntaxes sont supportées selon la configuration Docker/ASP.NET Core) |
| App__HealthUiCheckUrl | https://dev.api.societaire.cam.nc/health-status | URL de health chek du service front du portail. |
| App__RedirectAllowedUrls | https://dev.societaire.cam.nc, http://localhost:4200 | Redirections autorisées pour l'auth. À adapter selon l'environnement. |
| App__DisablePII | false | Active ou non l'affichage d'informations personnelles dans les logs. |
| App__HealthCheckUrl | /health-status | URL de l'endpoint de health check. Peut être une URL relative ou absolue selon l'environnement. |
| App__RedirectAllowedUrls | https://dev.societaire.cam.nc,http://localhost:4200 | URLs autorisées pour les redirections OAuth. À adapter selon l'environnement. |
| App__SelfUrl | https://dev.api.societaire.cam.nc | URL publique de l'API. À adapter selon l'environnement. |
| ASPNETCORE_URLS | https://+:8081;http://+:8080 | URLs d'écoute de l'application ASP.NET Core. |
| ASPNETCORE_ENVIRONMENT | Production | Environnement configuré de l'application ASP.NET Core. |
| AuthServer__Authority | https://dev.api.societaire.cam.nc/ | URL de l'autorité d'authentification (API). À adapter selon l'environnement. |
| AuthServer__CertificatePassPhrase | `Pass@word1' | |
| AuthServer__RequireHttpsMetadata | false | Exige l'utilisation de HTTPS pour la métadonnée d'authentification. |
| AuthServer__SwaggerClientId | PortailClients_Swagger | Identifiant client Swagger pour OpenIddict. |
| ConnectionStrings__Default | Host=localhost;Port=5432;Database=PortailClients;User ID=root;Password=<your_password>; | Chaîne de connexion à la base de données PostgreSQL. À adapter selon votre environnement. |
| Kestrel__Certificates__Default__Password | (valeur à définir lors du build des images Docker) | Mot de passe du certificat SSL utilisé par Kestrel. |
| Kestrel__Certificates__Default__Path | (valeur à définir lors du build des images Docker) | Chemin du certificat SSL utilisé par Kestrel. |
| SmtpMode | Restrained | Trois modes de fonctionnement sont offerts : Enabled, Disabled et Restrained (permet de remplacer les adresses mails qui ne sont ni en @cam.nc ni en @ncit.nc par l'adresse de l'émetteur). |
| StringEncryption__DefaultPassPhrase | Pass@word1 | Phrase secrète pour le chiffrement des données sensibles. |
Services internes
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| AWS__AccessKey | (valeur sensible) | Clé d'accès pour le stockage d'objets (compatible S3). |
| AWS__BucketName | portail-clients-staging | Nom du bucket pour le stockage d'objets. |
| AWS__Profile | do-tor1 | Nom du profil de configuration AWS/DigitalOcean. |
| AWS__SecretKey | (valeur sensible) | Clé secrète pour le stockage d'objets. |
| AWS__ServiceURL | https://syd1.digitaloceanspaces.com | URL du service de stockage d'objets (ex: DigitalOcean Spaces). |
| DataAnonymization__Enabled | false | |
| DataAnonymization__Environment | Staging | |
| DataAnonymization__RandomSeed | 54684 | |
| DataAnonymization__Rules__AnonymizePersonalInfo | true | |
| DataAnonymization__Rules__AnonymizeAddresses | true | |
| DataAnonymization__Rules__AnonymizePhoneNumbers | true | |
| DataAnonymization__Rules__AnonymizeEmails | true | |
| DataAnonymization__Rules__AnonymizeNumeroTiers | false | |
| DataAnonymization__Rules__AnonymizeRid | true | |
| DataAnonymization__Rules__PreserveRelationships | true | |
| DataAnonymization__Rules__PreserveAmounts | true | |
| BackgroundJobs__ObjetCourrierSynchronizer__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__CleanupPieceAttendueFile__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__ConvertProspectsToSocietaires__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__CreateGestionnaires__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__CreateProspects__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__DeactivateProspects__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__ManageZeroShareSocietaires__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__RemoveExpiredGestionnaires__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__CleanupLiasse__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__CreateLiasses__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__SynchronizeLiasses__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__SynchronizeAllUsers__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__SynchronizeMandatairesAssocie__Enabled | false | Activer le service pour qu'il soit fonctionnel |
| BackgroundJobs__SynchronizeMandataires__CautionEnabled | false | Activer le service pour qu'il soit fonctionnel |
Services externes CAM
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| App__AngularUrl | https://dev.societaire.cam.nc | URL publique du frontend Angular. À adapter selon l'environnement. |
| App__AntivirusUrl | https://dev.api.societaire.cam.nc/av/scanfile | URL du service d'antivirus. |
| App__CompressionUrl | https://dev.api.societaire.cam.nc/docs/convertsingle | URL du service de compression. |
| App__MergeUrl | https://dev.api.societaire.cam.nc/docs/mergepdfs | URL du service de fusion des pdf. |
| Courrier__AzureAd__ClientSecret | (valeur sensible) | Secret spécifique au portail pour l'accès au gestionnaire de courrier. |
| Courrier__BaseAddress | https://cam-courrier-app-qual.azurewebsites.net/API/ | Adresse de base de l'API Courrier. |
| Courrier__Paths__GetAllObjetCourrierPortailSocietaire | CourrierManager/GetAllObjetCourrierPortailSocietaire | Chemin pour récupérer les objets de courrier. |
| GenDoc__AzureAd__Instance | https://login.microsoftonline.com | |
| GenDoc__AzureAd__TenantId | f087b25b-9486-4633-8995-56eb8730e750 | |
| GenDoc__AzureAd__ClientId | ac52283b-3160-4aa2-831d-ac1db1ce49b4 | |
| GenDoc__AzureAd__Scope | api://ac52283b-3160-4aa2-831d-ac1db1ce49b4/.default | |
| GenDoc__BaseAddress | https://cam-gendoc-api-qual.azurewebsites.net/ | |
| GenDoc__Paths__GetAllModelsUsingAppId | DocumentGenerator/GetAllModelsUsingAppId?applicationId=0 | |
| GenDoc__Paths__CreateDocumentModel | DocumentModel/PostDocumentModel | |
| GenDoc__Paths__GenerateDocumentUsingTemplateId | DocumentGenerator/PostDocumentUsingTemplate?applicationId=0&documentTemplateId=1&convertToPdf=2 | |
| GenDoc__AzureAd__ClientSecret | (Valeur sensible) | |
| AzureAd__ClientId | (Valeur sensible) | Nécessaire pour le nugget DataPortalV2 |
| MICROSOFT_PROVIDER_AUTHENTICATION_SECRET | (valeur sensible) | Nécessaire pour le nugget DataPortalV2 |
Services externes autre
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| Salesforce__ApiVersion | v62.0 | Version de l'API Salesforce à utiliser |
| Salesforce__Auth__ClientId | (valeur sensible) | Identifiant client de l'application Salesforce |
| Salesforce__Auth__ClientSecret | (valeur sensible) | Secret client de l'application Salesforce |
| Salesforce__Auth__Password | (valeur sensible) | Mot de passe Salesforce pour l'authentification |
| Salesforce__Auth__Security_Token | (valeur sensible) | Jeton de sécurité Salesforce |
| Salesforce__Auth__TokenUrl | https://test.salesforce.com/services/oauth2/token | URL du token d'authentification Salesforce |
| Salesforce__Auth__Username | (valeur sensible) | Nom d'utilisateur Salesforce pour l'authentification |
| Salesforce__InstanceUrl | "" | URL de l'instance Salesforce (à définir après authentification) |
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| SmsLink__ApiUrl | https://api.smslink.pro | URL de l'API SMSLink. |
| SmsLink__BearerToken | Vide. La clé est intégrée dans le code. | Facultatif. Jeton d'authentification pour l'API SMSLink, déjà intégrée dans le code source. Intégré dans le appsettings.secret.json. |
| SmsLink__IsDisabled | true | Active ou non le service d'envoi des SMS. |
| Clé | Valeur environnement DEV | Description |
|---|---|---|
| Sentry__Dsn | https://daa2f4195a7c0e51763f50bfd78852b7@o4509563953348608.ingest.de.sentry.io/4510317665583184 | Auth à Sentry. |
| Sentry__SendDefaultPii | true | Auth à Sentry. |
| Sentry__Debug | true | Auth à Sentry. |
Remarques :
- Le fichier principal de configuration est
appsettings.json, mais toutes les variables ci-dessus peuvent être surchargées par des variables d’environnement. - Certaines variables peuvent avoir des valeurs différentes selon l’environnement (développement, production, Docker, etc.).
- Pour la configuration Docker, privilégiez la syntaxe double underscore (
__) pour les variables d’environnement.
Ajout de domaine dans la table OpenIddictApplications
La table "OpenIddictApplications" possède des URLs à mettre à jour en fonction des environnements.
Pour chaque environnement il est nécessaire de mettre à jour ces URLs
Changer les URLS en effectuant la requête :
select * from public."OpenIddictApplications"
