Keycloak
Disponibilité des fonctionnalités
Section titled “Disponibilité des fonctionnalités”| Fonctionnalité | Support |
|---|---|
| Gestion utilisateurs | ✅ Complet |
| Organisations | ✅ Natif (nécessite Keycloak 26.6+ avec les Organisations activées) |
| Journaux d’audit | ✅ Basique (nécessite les événements activés) |
Configuration
Section titled “Configuration”-
Créez ou choisissez un realm
Dans la console d’administration Keycloak, créez un realm dédié aux utilisateurs de votre application (ex.
my-app) ou utilisez un realm existant.Notez le nom du realm — vous en aurez besoin comme valeur de
KEYCLOAK_REALM. -
Créez un client de compte de service
Dans votre realm : Clients → Créer un client.
- Type de client : OpenID Connect
- Client ID :
aums-management(ou tout autre nom) - Authentification client : Activée (confidentiel)
- Rôles de comptes de service : Activé
- Flux standard / Accès direct : Désactivé (non nécessaire)
-
Accordez les permissions de gestion du realm
Allez dans le client → onglet Rôles de comptes de service → Assigner un rôle.
Filtrez par client realm-management et assignez :
manage-users— créer, mettre à jour, supprimer, désactiver des utilisateursview-users— lister et lire des utilisateursquery-users— requis pour la recherche
Pour l’accès aux journaux d’audit, assignez également :
view-events— lire les événements du realm
Pour la gestion des organisations, assignez également :
manage-organizations— créer, modifier, supprimer des organisations et gérer les membres
-
Copiez le secret du client
Allez dans le client → onglet Identifiants. Copiez le Secret client.
-
Définissez les variables d’environnement
Terminal window PROVIDER=keycloakKEYCLOAK_BASE_URL=https://keycloak.example.comKEYCLOAK_REALM=my-appKEYCLOAK_CLIENT_ID=aums-managementKEYCLOAK_CLIENT_SECRET=your-client-secret
Organisations
Section titled “Organisations”Les Organisations Keycloak (introduites en 26.0, stables en 26.6+) sont prises en charge nativement. AUMS mappe les organisations Keycloak comme suit :
| Champ AUMS | Champ Keycloak |
|---|---|
id | id |
name | name |
displayName | alias |
description | description |
Prérequis :
- Keycloak version 26.6.0 ou supérieure.
- Fonctionnalité Organisations activée dans le realm : Paramètres du realm → Général → Organisations → Activé.
- Le compte de service dispose du rôle
manage-organizations(voir étape 3 de la configuration).
Les invitations sont envoyées par e-mail via le flux d’invitation natif de Keycloak. Assurez-vous que votre realm dispose d’un fournisseur de messagerie configuré (Paramètres du realm → E-mail) avant d’utiliser la fonctionnalité d’invitation.
Journaux d’audit
Section titled “Journaux d’audit”Les journaux d’audit Keycloak sont lus depuis le store d’événements du realm. Les événements doivent être activés dans les paramètres du realm :
- Allez dans Paramètres du realm → onglet Événements.
- Activez Sauvegarder les événements.
- Prolongez optionnellement l’Expiration pour conserver les événements plus longtemps (défaut : 1 jour).
- Sélectionnez les types d’événements à suivre dans Types d’événements sauvegardés.
Une fois activés, AUMS affichera les événements utilisateurs (connexions, échecs, réinitialisations de mot de passe, etc.) sur la page Journaux d’audit, avec filtrage par utilisateur, type d’événement et plage de dates.
Connexion OIDC (optionnel)
Section titled “Connexion OIDC (optionnel)”Pour protéger le tableau de bord AUMS avec le SSO Keycloak, créez un client OpenID Connect séparé dans Keycloak (flux standard, pas de compte de service) :
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://keycloak.example.com/realms/my-appAUTH_CLIENT_ID=aums-dashboardAUTH_CLIENT_SECRET=your-oidc-client-secretAjoutez <BASE_URL>/api/auth/callback/oidc aux URI de redirection valides du client.