Configuration de l'application Angular
Le fichier de configuration sont dans
- /src/environments/environment.prod.ts (PROD)
- /src/environments/environment.staging.ts (STAGING)
- /src/environments/environment.ts (DEV)
Voici un exemple de configuration :
import { Environment } from '@abp/ng.core';
const baseUrl = 'http://localhost:4200';
const oAuthConfig = {
issuer: 'https://cam-portail-api-hpaib.ondigitalocean.app/',
redirectUri: baseUrl,
clientId: 'PortailClients_App',
responseType: 'code',
scope: 'offline_access PortailClients',
requireHttps: true,
impersonation: {
userImpersonation: true,
}
};
export const environment = {
production: true,
application: {
baseUrl,
name: 'PortailClients',
},
oAuthConfig,
apis: {
default: {
url: 'https://cam-portail-api-hpaib.ondigitalocean.app',
rootNamespace: 'NC.CAM.App.PortailClients',
},
AbpAccountPublic: {
url: oAuthConfig.issuer,
rootNamespace: 'AbpAccountPublic',
},
},
} as Environment;
Détails des paramètres
- production : Indique si l’application tourne en mode production (
true) ou développement (false). - application.baseUrl : URL de base du frontend Angular (ex :
http://localhost:4200). À adapter selon l’URL publique du front. - application.name : Nom affiché de l’application.
- application.logoUrl : URL du logo affiché dans l’application (laisser vide si non utilisé).
- oAuthConfig.issuer : URL de l’API qui sert d’autorité OAuth2/OpenID Connect (ex :
https://localhost:44352/). À adapter selon l’URL publique de l’API. - oAuthConfig.redirectUri : URL de redirection après authentification (doit correspondre à l’URL du frontend).
- oAuthConfig.clientId : Identifiant client utilisé pour l’authentification OAuth2/OpenID Connect.
- oAuthConfig.responseType : Type de réponse OAuth2 (généralement
codepour le flow Authorization Code). - oAuthConfig.scope : Scopes demandés lors de l’authentification.
- apis.default.url : URL de l’API principale (backend).
- apis.default.rootNamespace : Namespace racine utilisé pour l’API principale.
- apis.AbpAccountPublic.url : URL de l’API publique AbpAccount (généralement identique à l’API principale).
- apis.AbpAccountPublic.rootNamespace : Namespace racine pour l’API AbpAccountPublic.
Configuration dynamique ABP
⚠️ TODO, nous n'avons pas les infos sur ces points
Fichier dynamic-env.json est-il utilisé ??? Ce fichier est traité partout :
- CI (vérification + copie)
- CD (subsitution des variables)
- Dockerfile (copie)
Le endpoint /getEnvConfig doit être accessible depuis le frontend (utilisé par le backend ???). Celui est configuré dans le nginx.conf pour le serveur web nginx.