docs: Ajout documentation et scripts de démarrage
- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
This commit is contained in:
224
INSTRUCTIONS_TEST.md
Normal file
224
INSTRUCTIONS_TEST.md
Normal file
@@ -0,0 +1,224 @@
|
||||
# Instructions de Test - Lions User Manager
|
||||
|
||||
## ✅ Configuration Terminée
|
||||
|
||||
Tous les composants sont maintenant configurés et opérationnels !
|
||||
|
||||
## 🚀 Architecture Actuelle
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ Navigateur Web │
|
||||
└────────────┬────────────────────────────────┘
|
||||
│
|
||||
│ 1. http://localhost:8080
|
||||
│ Redirection OIDC →
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ KEYCLOAK (Port 8180) ✅ │
|
||||
│ - Realm: lions-user-manager │
|
||||
│ - Client: lions-user-manager-client │
|
||||
│ - Secret: client-secret-lions-2025 │
|
||||
└────────────┬────────────────────────────────┘
|
||||
│
|
||||
│ 2. Authentification
|
||||
│ testuser / test123
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ FRONTEND (Port 8080) ✅ │
|
||||
│ - OIDC activé │
|
||||
│ - Reçoit token JWT │
|
||||
└────────────┬────────────────────────────────┘
|
||||
│
|
||||
│ 3. Appels API avec token JWT
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ BACKEND (Port 8081) ✅ │
|
||||
│ - Vérifie le token JWT │
|
||||
│ - Appelle Keycloak Admin API │
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 📋 Étapes de Test
|
||||
|
||||
### 1. Vérifier que tous les services tournent
|
||||
|
||||
```bash
|
||||
# Backend (port 8081)
|
||||
curl http://localhost:8081/q/health
|
||||
|
||||
# Keycloak (port 8180)
|
||||
curl http://localhost:8180/realms/lions-user-manager
|
||||
|
||||
# Frontend (port 8080) - devrait rediriger
|
||||
curl -I http://localhost:8080
|
||||
```
|
||||
|
||||
### 2. Tester l'authentification complète
|
||||
|
||||
1. **Ouvrir le navigateur** : http://localhost:8080
|
||||
|
||||
2. **Redirection automatique** vers Keycloak :
|
||||
- URL sera : `http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/auth?...`
|
||||
|
||||
3. **Se connecter** avec les credentials :
|
||||
- **Username** : `testuser`
|
||||
- **Password** : `test123`
|
||||
|
||||
4. **Redirection** vers le frontend authentifié
|
||||
|
||||
5. **Accéder aux pages protégées** :
|
||||
- http://localhost:8080/pages/user-manager/users/list.xhtml
|
||||
|
||||
### 3. Tester les API Backend directement
|
||||
|
||||
#### Avec token (authentifié)
|
||||
|
||||
```bash
|
||||
# 1. Obtenir un token
|
||||
TOKEN=$(curl -s -X POST "http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/token" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-d "client_id=lions-user-manager-client" \
|
||||
-d "client_secret=client-secret-lions-2025" \
|
||||
-d "username=testuser" \
|
||||
-d "password=test123" \
|
||||
-d "grant_type=password" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)
|
||||
|
||||
# 2. Appeler l'API avec le token
|
||||
curl -H "Authorization: Bearer $TOKEN" \
|
||||
"http://localhost:8081/api/users?realm=lions-user-manager"
|
||||
```
|
||||
|
||||
## 🔑 Credentials
|
||||
|
||||
### Keycloak Admin
|
||||
- **URL** : http://localhost:8180/admin
|
||||
- **Username** : `admin`
|
||||
- **Password** : `admin`
|
||||
- **Realm** : `master`
|
||||
|
||||
### Test User (Application)
|
||||
- **URL** : http://localhost:8080
|
||||
- **Username** : `testuser`
|
||||
- **Password** : `test123`
|
||||
- **Realm** : `lions-user-manager`
|
||||
|
||||
### Client Configuration
|
||||
- **Client ID** : `lions-user-manager-client`
|
||||
- **Client Secret** : `client-secret-lions-2025`
|
||||
- **Realm** : `lions-user-manager`
|
||||
|
||||
## 📊 Endpoints de Test
|
||||
|
||||
### Frontend
|
||||
- **Accueil** : http://localhost:8080
|
||||
- **Users List** : http://localhost:8080/pages/user-manager/users/list.xhtml
|
||||
- **Roles List** : http://localhost:8080/pages/user-manager/roles/list.xhtml
|
||||
|
||||
### Backend API
|
||||
- **Swagger UI** : http://localhost:8081/q/swagger-ui
|
||||
- **Dev UI** : http://localhost:8081/q/dev
|
||||
- **Health** : http://localhost:8081/q/health
|
||||
- **Keycloak Health** : http://localhost:8081/api/health/keycloak
|
||||
- **Users API** : http://localhost:8081/api/users?realm=lions-user-manager
|
||||
- **Roles API** : http://localhost:8081/api/roles/realm?realm=lions-user-manager
|
||||
|
||||
### Keycloak
|
||||
- **Admin Console** : http://localhost:8180/admin
|
||||
- **Realm Info** : http://localhost:8180/realms/lions-user-manager
|
||||
- **Well-known** : http://localhost:8180/realms/lions-user-manager/.well-known/openid-configuration
|
||||
|
||||
## ⚠️ Troubleshooting
|
||||
|
||||
### Frontend retourne "Forbidden"
|
||||
- **Cause** : Pas authentifié
|
||||
- **Solution** : Allez sur http://localhost:8080, laissez-vous rediriger vers Keycloak et authentifiez-vous
|
||||
|
||||
### Erreur "Client not found"
|
||||
- **Cause** : Configuration Keycloak incorrecte
|
||||
- **Solution** : Vérifier que le client `lions-user-manager-client` existe dans le realm `lions-user-manager`
|
||||
|
||||
### Backend retourne 403
|
||||
- **Cause** : Token invalide ou manquant
|
||||
- **Solution** : S'assurer que le frontend envoie bien le token JWT dans l'en-tête `Authorization`
|
||||
|
||||
### "Invalid redirect_uri"
|
||||
- **Cause** : Les redirect URIs ne sont pas configurées correctement
|
||||
- **Solution** : Dans Keycloak Admin, vérifier que `http://localhost:8080/*` est bien dans les Valid Redirect URIs
|
||||
|
||||
## 🧪 Scénarios de Test
|
||||
|
||||
### Scénario 1 : Authentification et Liste des Utilisateurs
|
||||
1. Ouvrir http://localhost:8080
|
||||
2. Se connecter avec testuser/test123
|
||||
3. Naviguer vers la liste des utilisateurs
|
||||
4. Vérifier que les utilisateurs s'affichent
|
||||
|
||||
### Scénario 2 : Créer un Utilisateur
|
||||
1. S'authentifier (voir Scénario 1)
|
||||
2. Cliquer sur "Nouveau Utilisateur"
|
||||
3. Remplir le formulaire
|
||||
4. Sauvegarder
|
||||
5. Vérifier que l'utilisateur apparaît dans la liste
|
||||
|
||||
### Scénario 3 : Gestion des Rôles
|
||||
1. S'authentifier
|
||||
2. Aller sur la page des rôles
|
||||
3. Assigner des rôles à un utilisateur
|
||||
4. Vérifier que les rôles sont bien assignés
|
||||
|
||||
### Scénario 4 : API Backend Directe
|
||||
```bash
|
||||
# Obtenir token
|
||||
TOKEN=$(curl -s -X POST "http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/token" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-d "client_id=lions-user-manager-client" \
|
||||
-d "client_secret=client-secret-lions-2025" \
|
||||
-d "username=testuser" \
|
||||
-d "password=test123" \
|
||||
-d "grant_type=password" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)
|
||||
|
||||
# Lister utilisateurs
|
||||
curl -H "Authorization: Bearer $TOKEN" \
|
||||
"http://localhost:8081/api/users?realm=lions-user-manager"
|
||||
|
||||
# Lister rôles
|
||||
curl -H "Authorization: Bearer $TOKEN" \
|
||||
"http://localhost:8081/api/roles/realm?realm=lions-user-manager"
|
||||
```
|
||||
|
||||
## ✅ Checklist de Validation
|
||||
|
||||
- [ ] Backend démarre sur port 8081
|
||||
- [ ] Keycloak accessible sur port 8180
|
||||
- [ ] Frontend démarre sur port 8080
|
||||
- [ ] Redirection OIDC fonctionne (frontend → Keycloak)
|
||||
- [ ] Authentification réussie avec testuser/test123
|
||||
- [ ] Pages protégées accessibles après authentification
|
||||
- [ ] API Backend retourne des données
|
||||
- [ ] Token JWT est correctement transmis
|
||||
- [ ] Swagger UI accessible et fonctionnel
|
||||
|
||||
## 🎯 Prochaines Étapes (Post-Test)
|
||||
|
||||
1. ✅ Validation de l'authentification complète
|
||||
2. ⏳ Tests fonctionnels de toutes les pages
|
||||
3. ⏳ Tests CRUD complets (Create, Read, Update, Delete)
|
||||
4. ⏳ Tests de gestion des rôles
|
||||
5. ⏳ Tests d'audit
|
||||
6. ⏳ Tests de synchronisation
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
- Le frontend utilise maintenant OIDC avec Keycloak local
|
||||
- Le backend vérifie les tokens JWT via OIDC
|
||||
- Tous les appels API nécessitent un token valide
|
||||
- Le test user `testuser` a les rôles : `admin`, `user_manager`
|
||||
|
||||
---
|
||||
|
||||
**Date de configuration** : 2025-12-05
|
||||
**Environnement** : Développement (DEV)
|
||||
Reference in New Issue
Block a user