4.3 KiB
4.3 KiB
Configuration Keycloak - Utilisateur de Test
Ce document explique comment configurer un utilisateur de test dans Keycloak avec les rôles nécessaires pour utiliser lions-user-manager.
Prérequis
- Keycloak accessible sur
http://localhost:8180 - Accès admin :
admin/admin - Realm
lions-user-managercréé
Étapes de Configuration
1. Créer l'utilisateur de test
- Connectez-vous à Keycloak Admin Console :
http://localhost:8180 - Sélectionnez le realm
lions-user-manager - Allez dans Users → Add user
- Remplissez les informations :
- Username :
test-user(ou le nom de votre choix) - Email :
test@lions.dev - First name :
Test - Last name :
User - Email verified :
ON - Enabled :
ON
- Username :
- Cliquez sur Create
2. Définir le mot de passe
- Dans la page de l'utilisateur, allez dans l'onglet Credentials
- Cliquez sur Set password
- Définissez un mot de passe (ex:
test123) - Temporary :
OFF(pour éviter de changer le mot de passe à la première connexion) - Cliquez sur Save
- Confirmez dans la popup
3. Créer les rôles Realm nécessaires
Les rôles suivants doivent exister dans le realm lions-user-manager :
Rôles requis pour les endpoints Users :
admin- Accès completuser_manager- Gestion des utilisateursuser_viewer- Consultation des utilisateurs
Rôles requis pour les endpoints Roles :
role_manager- Gestion des rôlesrole_viewer- Consultation des rôles
Rôles requis pour les endpoints Audit :
auditor- Accès aux logs d'audit
Rôles requis pour les endpoints Sync :
sync_manager- Gestion de la synchronisation
Création des rôles :
- Allez dans Realm roles → Create role
- Créez chaque rôle un par un :
adminuser_manageruser_viewerrole_managerrole_viewerauditorsync_manager
4. Assigner les rôles à l'utilisateur
- Retournez dans Users → Sélectionnez votre utilisateur de test
- Allez dans l'onglet Role mapping
- Cliquez sur Assign role
- Sélectionnez Filter by realm roles
- Cochez les rôles nécessaires :
- Pour un accès complet :
admin - Pour un accès limité :
user_manager,user_viewer,role_manager,role_viewer
- Pour un accès complet :
- Cliquez sur Assign
5. Configurer le Client pour les rôles
-
Allez dans Clients → Sélectionnez
lions-user-manager-client -
Allez dans l'onglet Mappers
-
Vérifiez qu'il existe un mapper pour les rôles realm :
- Name :
realm roles - Mapper Type :
Realm Role - Token Claim Name :
realm_access.roles - Add to access token :
ON - Add to ID token :
ON - Add to userinfo :
ON
Si le mapper n'existe pas, créez-le :
- Cliquez sur Create
- Name :
realm roles - Mapper Type :
Realm Role - Token Claim Name :
realm_access.roles - Add to access token :
ON - Add to ID token :
ON - Add to userinfo :
ON - Cliquez sur Save
- Name :
6. Vérifier la configuration
- Connectez-vous au client avec l'utilisateur de test
- Ouvrez les DevTools du navigateur (F12)
- Allez dans Application → Cookies
- Trouvez le cookie de session
- Décodez le token JWT (utilisez https://jwt.io)
- Vérifiez que le claim
realm_access.rolescontient les rôles assignés
Configuration rapide via script
Un script de configuration automatique sera créé prochainement.
Rôles par endpoint
/api/users/*
admin- Accès completuser_manager- Création, modification, suppressionuser_viewer- Consultation uniquement
/api/roles/*
admin- Accès completrole_manager- Création, modification, suppressionrole_viewer- Consultation uniquement
/api/audit/*
admin- Accès completauditor- Consultation des logs
/api/sync/*
admin- Accès completsync_manager- Gestion de la synchronisation
Notes importantes
- Les rôles sont vérifiés côté backend via
@RolesAllowed - Le token JWT doit contenir les rôles dans
realm_access.roles - Le client propage automatiquement le token au backend via
bearer-token-propagation=true - En production, utilisez des rôles plus granulaires selon les besoins