Skip to main content

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 DEVDescription
AppId1Identifiant unique de l'application Portail dans écosystème CAM pour les services tel que GenDoc
AzureAd__ClientId(valeur sensible)TODO: Contrôler le besoin
AbpLicenseCodeVide. 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__AngularUrlhttps://dev.societaire.cam.ncURL publique du frontend Angular. À adapter selon l'environnement.
App__CorsOriginshttps://dev.societaire.cam.nc,https://.cam.nc,http://localhost:4200Origines autorisées pour le CORS. À adapter selon l'environnement. (Les deux syntaxes sont supportées selon la configuration Docker/ASP.NET Core)
App__HealthUiCheckUrlhttps://dev.api.societaire.cam.nc/health-statusURL de health chek du service front du portail.
App__RedirectAllowedUrlshttps://dev.societaire.cam.nc, http://localhost:4200Redirections autorisées pour l'auth. À adapter selon l'environnement.
App__DisablePIIfalseActive ou non l'affichage d'informations personnelles dans les logs.
App__HealthCheckUrl/health-statusURL de l'endpoint de health check. Peut être une URL relative ou absolue selon l'environnement.
App__RedirectAllowedUrlshttps://dev.societaire.cam.nc,http://localhost:4200URLs autorisées pour les redirections OAuth. À adapter selon l'environnement.
App__SelfUrlhttps://dev.api.societaire.cam.ncURL publique de l'API. À adapter selon l'environnement.
ASPNETCORE_URLShttps://+:8081;http://+:8080URLs d'écoute de l'application ASP.NET Core.
ASPNETCORE_ENVIRONMENTProductionEnvironnement configuré de l'application ASP.NET Core.
AuthServer__Authorityhttps://dev.api.societaire.cam.nc/URL de l'autorité d'authentification (API). À adapter selon l'environnement.
AuthServer__CertificatePassPhrase`Pass@word1'
AuthServer__RequireHttpsMetadatafalseExige l'utilisation de HTTPS pour la métadonnée d'authentification.
AuthServer__SwaggerClientIdPortailClients_SwaggerIdentifiant client Swagger pour OpenIddict.
ConnectionStrings__DefaultHost=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.
SmtpModeRestrainedTrois modes de fonctionnement sont offerts : EnabledDisabled 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__DefaultPassPhrasePass@word1Phrase secrète pour le chiffrement des données sensibles.

Services internes

CléValeur environnement DEVDescription
AWS__AccessKey(valeur sensible)Clé d'accès pour le stockage d'objets (compatible S3).
AWS__BucketNameportail-clients-stagingNom du bucket pour le stockage d'objets.
AWS__Profiledo-tor1Nom du profil de configuration AWS/DigitalOcean.
AWS__SecretKey(valeur sensible)Clé secrète pour le stockage d'objets.
AWS__ServiceURLhttps://syd1.digitaloceanspaces.comURL du service de stockage d'objets (ex: DigitalOcean Spaces).
DataAnonymization__Enabledfalse
DataAnonymization__EnvironmentStaging
DataAnonymization__RandomSeed54684
DataAnonymization__Rules__AnonymizePersonalInfotrue
DataAnonymization__Rules__AnonymizeAddressestrue
DataAnonymization__Rules__AnonymizePhoneNumberstrue
DataAnonymization__Rules__AnonymizeEmailstrue
DataAnonymization__Rules__AnonymizeNumeroTiersfalse
DataAnonymization__Rules__AnonymizeRidtrue
DataAnonymization__Rules__PreserveRelationshipstrue
DataAnonymization__Rules__PreserveAmountstrue
BackgroundJobs__ObjetCourrierSynchronizer__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__CleanupPieceAttendueFile__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__ConvertProspectsToSocietaires__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__CreateGestionnaires__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__CreateProspects__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__DeactivateProspects__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__ManageZeroShareSocietaires__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__RemoveExpiredGestionnaires__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__CleanupLiasse__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__CreateLiasses__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__SynchronizeLiasses__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__SynchronizeAllUsers__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__SynchronizeMandatairesAssocie__EnabledfalseActiver le service pour qu'il soit fonctionnel
BackgroundJobs__SynchronizeMandataires__CautionEnabledfalseActiver le service pour qu'il soit fonctionnel

Services externes CAM

CléValeur environnement DEVDescription
App__AngularUrlhttps://dev.societaire.cam.ncURL publique du frontend Angular. À adapter selon l'environnement.
App__AntivirusUrlhttps://dev.api.societaire.cam.nc/av/scanfileURL du service d'antivirus.
App__CompressionUrlhttps://dev.api.societaire.cam.nc/docs/convertsingleURL du service de compression.
App__MergeUrlhttps://dev.api.societaire.cam.nc/docs/mergepdfsURL 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__BaseAddresshttps://cam-courrier-app-qual.azurewebsites.net/API/Adresse de base de l'API Courrier.
Courrier__Paths__GetAllObjetCourrierPortailSocietaireCourrierManager/GetAllObjetCourrierPortailSocietaireChemin pour récupérer les objets de courrier.
GenDoc__AzureAd__Instancehttps://login.microsoftonline.com
GenDoc__AzureAd__TenantIdf087b25b-9486-4633-8995-56eb8730e750
GenDoc__AzureAd__ClientIdac52283b-3160-4aa2-831d-ac1db1ce49b4
GenDoc__AzureAd__Scopeapi://ac52283b-3160-4aa2-831d-ac1db1ce49b4/.default
GenDoc__BaseAddresshttps://cam-gendoc-api-qual.azurewebsites.net/
GenDoc__Paths__GetAllModelsUsingAppIdDocumentGenerator/GetAllModelsUsingAppId?applicationId=0
GenDoc__Paths__CreateDocumentModelDocumentModel/PostDocumentModel
GenDoc__Paths__GenerateDocumentUsingTemplateIdDocumentGenerator/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 DEVDescription
Salesforce__ApiVersionv62.0Version 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__TokenUrlhttps://test.salesforce.com/services/oauth2/tokenURL 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 DEVDescription
SmsLink__ApiUrlhttps://api.smslink.proURL de l'API SMSLink.
SmsLink__BearerTokenVide. 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__IsDisabledtrueActive ou non le service d'envoi des SMS.
CléValeur environnement DEVDescription
Sentry__Dsnhttps://daa2f4195a7c0e51763f50bfd78852b7@o4509563953348608.ingest.de.sentry.io/4510317665583184Auth à Sentry.
Sentry__SendDefaultPiitrueAuth à Sentry.
Sentry__DebugtrueAuth à 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"

image.png