Migration complète vers PrimeFaces Freya - Corrections des incompatibilités et intégration de primefaces-freya-extension
This commit is contained in:
139
CONFIGURATION_KEYCLOAK_TEST_USER.md
Normal file
139
CONFIGURATION_KEYCLOAK_TEST_USER.md
Normal file
@@ -0,0 +1,139 @@
|
||||
# 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-manager` créé
|
||||
|
||||
## Étapes de Configuration
|
||||
|
||||
### 1. Créer l'utilisateur de test
|
||||
|
||||
1. Connectez-vous à Keycloak Admin Console : `http://localhost:8180`
|
||||
2. Sélectionnez le realm `lions-user-manager`
|
||||
3. Allez dans **Users** → **Add user**
|
||||
4. 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`
|
||||
5. Cliquez sur **Create**
|
||||
|
||||
### 2. Définir le mot de passe
|
||||
|
||||
1. Dans la page de l'utilisateur, allez dans l'onglet **Credentials**
|
||||
2. Cliquez sur **Set password**
|
||||
3. Définissez un mot de passe (ex: `test123`)
|
||||
4. **Temporary** : `OFF` (pour éviter de changer le mot de passe à la première connexion)
|
||||
5. Cliquez sur **Save**
|
||||
6. 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 complet
|
||||
- `user_manager` - Gestion des utilisateurs
|
||||
- `user_viewer` - Consultation des utilisateurs
|
||||
|
||||
#### Rôles requis pour les endpoints Roles :
|
||||
- `role_manager` - Gestion des rôles
|
||||
- `role_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 :**
|
||||
|
||||
1. Allez dans **Realm roles** → **Create role**
|
||||
2. Créez chaque rôle un par un :
|
||||
- `admin`
|
||||
- `user_manager`
|
||||
- `user_viewer`
|
||||
- `role_manager`
|
||||
- `role_viewer`
|
||||
- `auditor`
|
||||
- `sync_manager`
|
||||
|
||||
### 4. Assigner les rôles à l'utilisateur
|
||||
|
||||
1. Retournez dans **Users** → Sélectionnez votre utilisateur de test
|
||||
2. Allez dans l'onglet **Role mapping**
|
||||
3. Cliquez sur **Assign role**
|
||||
4. Sélectionnez **Filter by realm roles**
|
||||
5. 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`
|
||||
6. Cliquez sur **Assign**
|
||||
|
||||
### 5. Configurer le Client pour les rôles
|
||||
|
||||
1. Allez dans **Clients** → Sélectionnez `lions-user-manager-client`
|
||||
2. Allez dans l'onglet **Mappers**
|
||||
3. 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**
|
||||
|
||||
### 6. Vérifier la configuration
|
||||
|
||||
1. Connectez-vous au client avec l'utilisateur de test
|
||||
2. Ouvrez les DevTools du navigateur (F12)
|
||||
3. Allez dans **Application** → **Cookies**
|
||||
4. Trouvez le cookie de session
|
||||
5. Décodez le token JWT (utilisez https://jwt.io)
|
||||
6. Vérifiez que le claim `realm_access.roles` contient 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 complet
|
||||
- `user_manager` - Création, modification, suppression
|
||||
- `user_viewer` - Consultation uniquement
|
||||
|
||||
### `/api/roles/*`
|
||||
- `admin` - Accès complet
|
||||
- `role_manager` - Création, modification, suppression
|
||||
- `role_viewer` - Consultation uniquement
|
||||
|
||||
### `/api/audit/*`
|
||||
- `admin` - Accès complet
|
||||
- `auditor` - Consultation des logs
|
||||
|
||||
### `/api/sync/*`
|
||||
- `admin` - Accès complet
|
||||
- `sync_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
|
||||
|
||||
Reference in New Issue
Block a user