docs: Ajout du guide de démarrage complet
- Instructions détaillées pour démarrer l'application - Explications de l'architecture d'authentification - Guide de résolution des problèmes courants - Diagramme de flux d'authentification
This commit is contained in:
200
README_DEMARRAGE.md
Normal file
200
README_DEMARRAGE.md
Normal file
@@ -0,0 +1,200 @@
|
||||
# Guide de démarrage - Lions User Manager
|
||||
|
||||
## 🚀 Configuration Keycloak effectuée
|
||||
|
||||
La configuration Keycloak a été effectuée avec succès ! Voici ce qui a été configuré :
|
||||
|
||||
### ✅ Realm dédié
|
||||
- **Nom du realm** : `lions-user-manager`
|
||||
- ✅ Architecture correcte : realm séparé pour l'application (pas `master`)
|
||||
|
||||
### ✅ Client configuré
|
||||
- **Client Frontend** : `lions-user-manager-client`
|
||||
- Secret : `client-secret-lions-2025`
|
||||
- Type : Confidential (Authorization Code Flow + Direct Access)
|
||||
- Redirect URIs : `http://localhost:8080/*`, `http://localhost:8081/*`
|
||||
|
||||
- **Backend** : Pas de client séparé ✅
|
||||
- Utilise directement l'Admin API avec les credentials `admin/admin`
|
||||
- Architecture correcte : pas besoin de service account pour ce cas d'usage
|
||||
|
||||
### ✅ Utilisateur de test
|
||||
- **Username** : `testuser`
|
||||
- **Password** : `test123`
|
||||
- **Email** : test@lions.dev
|
||||
- **Rôles** : `admin`, `user_manager`
|
||||
|
||||
### ✅ Rôles créés
|
||||
- `admin` - Accès complet
|
||||
- `user_manager` - Gestion utilisateurs
|
||||
- `user_viewer` - Lecture seule
|
||||
- `auditor` - Consultation logs
|
||||
- `sync_manager` - Synchronisation
|
||||
|
||||
## 📦 Démarrage de l'application
|
||||
|
||||
### 1. Vérifier que Keycloak tourne
|
||||
|
||||
```bash
|
||||
curl http://localhost:8180/realms/lions-user-manager/.well-known/openid-configuration
|
||||
```
|
||||
|
||||
Si Keycloak ne tourne pas, le démarrer :
|
||||
```bash
|
||||
# Exemple avec Docker
|
||||
docker run -p 8180:8080 \
|
||||
-e KEYCLOAK_ADMIN=admin \
|
||||
-e KEYCLOAK_ADMIN_PASSWORD=admin \
|
||||
quay.io/keycloak/keycloak:latest start-dev
|
||||
```
|
||||
|
||||
### 2. Démarrer le Backend (port 8081)
|
||||
|
||||
```bash
|
||||
cd lions-user-manager-server-impl-quarkus
|
||||
mvn quarkus:dev
|
||||
```
|
||||
|
||||
**Note** : Le backend utilise directement l'Admin API de Keycloak avec `admin/admin`. OIDC est désactivé car pas nécessaire.
|
||||
|
||||
**Vérification** :
|
||||
```bash
|
||||
# Test de l'API (doit renvoyer une liste vide ou des utilisateurs)
|
||||
curl "http://localhost:8081/api/users?realm=lions-user-manager"
|
||||
```
|
||||
|
||||
### 3. Démarrer le Frontend (port 8080)
|
||||
|
||||
```bash
|
||||
cd lions-user-manager-client-quarkus-primefaces-freya
|
||||
mvn quarkus:dev
|
||||
```
|
||||
|
||||
**Configuration OIDC active** pour le frontend (fichier `application-dev.properties`) :
|
||||
```properties
|
||||
quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
|
||||
quarkus.oidc.client-id=lions-user-manager-client
|
||||
quarkus.oidc.credentials.secret=client-secret-lions-2025
|
||||
quarkus.oidc.application-type=web-app
|
||||
```
|
||||
|
||||
### 4. Accéder à l'application
|
||||
|
||||
#### Frontend Web
|
||||
1. Ouvrir : http://localhost:8080
|
||||
2. Vous serez redirigé vers Keycloak pour l'authentification
|
||||
3. Se connecter avec : **testuser** / **test123**
|
||||
4. Vous serez redirigé vers l'application
|
||||
|
||||
#### Backend API
|
||||
- Swagger UI : http://localhost:8081/q/swagger-ui
|
||||
- Health Check : http://localhost:8081/q/health
|
||||
- Metrics : http://localhost:8081/q/metrics
|
||||
|
||||
## 🔧 Résolution des problèmes
|
||||
|
||||
### Problème : "Forbidden" sur http://localhost:8081
|
||||
|
||||
**C'est normal !** Le backend ne sert pas de pages web directement. Utilisez plutôt :
|
||||
- Les endpoints API : http://localhost:8081/api/users?realm=lions-user-manager
|
||||
- Le Swagger UI : http://localhost:8081/q/swagger-ui
|
||||
|
||||
### Problème : "Client not found" sur le frontend
|
||||
|
||||
**Solution** : Relancer le script de configuration :
|
||||
```bash
|
||||
bash setup-keycloak-correct.sh
|
||||
```
|
||||
|
||||
### Problème : Impossible de se connecter avec testuser
|
||||
|
||||
**Vérifications** :
|
||||
1. Vérifier que l'utilisateur existe dans le bon realm :
|
||||
- Admin Console : http://localhost:8180/admin
|
||||
- Realm : `lions-user-manager` (pas `master` !)
|
||||
- Users → testuser
|
||||
|
||||
2. Vérifier le mot de passe : `test123`
|
||||
|
||||
3. Vérifier que le compte est activé (Enabled: ON)
|
||||
|
||||
### Problème : "Unauthorized" sur les API
|
||||
|
||||
Le backend utilise l'Admin API avec `admin/admin`. Vérifiez :
|
||||
```properties
|
||||
# Dans application-dev.properties
|
||||
lions.keycloak.admin-username=admin
|
||||
lions.keycloak.admin-password=admin
|
||||
```
|
||||
|
||||
## 📋 Architecture de l'authentification
|
||||
|
||||
```
|
||||
┌─────────────────┐
|
||||
│ Utilisateur │
|
||||
└────────┬────────┘
|
||||
│
|
||||
│ 1. Accède à http://localhost:8080
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────┐
|
||||
│ Frontend (port 8080) │ ← OIDC activé
|
||||
│ PrimeFaces + Quarkus │
|
||||
└────────┬────────────────┘
|
||||
│
|
||||
│ 2. Redirige vers Keycloak
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────┐
|
||||
│ Keycloak (port 8180) │
|
||||
│ Realm: lions-user-manager │
|
||||
│ Client: lions-user-manager-client │
|
||||
└────────┬────────────────────────────┘
|
||||
│
|
||||
│ 3. Login: testuser/test123
|
||||
│ 4. Retourne token
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────┐
|
||||
│ Frontend authentifié │
|
||||
└────────┬────────────────┘
|
||||
│
|
||||
│ 5. Appelle l'API avec token
|
||||
│
|
||||
▼
|
||||
┌──────────────────────────────┐
|
||||
│ Backend API (port 8081) │ ← OIDC désactivé
|
||||
│ Utilise Admin API directe │
|
||||
└──────────┬───────────────────┘
|
||||
│
|
||||
│ 6. Auth avec admin/admin
|
||||
│
|
||||
▼
|
||||
┌──────────┐
|
||||
│ Keycloak │
|
||||
│ Admin API│
|
||||
└──────────┘
|
||||
```
|
||||
|
||||
## 🎯 Prochaines étapes
|
||||
|
||||
1. ✅ Keycloak configuré
|
||||
2. ✅ Utilisateur de test créé
|
||||
3. ⏳ Tester l'authentification sur le frontend
|
||||
4. ⏳ Tester les API du backend
|
||||
5. ⏳ Développer les pages manquantes
|
||||
6. ⏳ Implémenter les fonctionnalités métier
|
||||
|
||||
## 📞 Support
|
||||
|
||||
En cas de problème :
|
||||
1. Vérifier les logs des applications
|
||||
2. Vérifier la configuration Keycloak dans l'Admin Console
|
||||
3. Consulter `KEYCLOAK_SETUP.md` pour plus de détails
|
||||
4. Relancer `setup-keycloak-correct.sh` si nécessaire
|
||||
|
||||
---
|
||||
|
||||
**Date de configuration** : 2025-12-04
|
||||
**Realm** : `lions-user-manager`
|
||||
**Credentials test** : `testuser` / `test123`
|
||||
Reference in New Issue
Block a user