- 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
6.2 KiB
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/*
- Secret :
-
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
- Utilise directement l'Admin API avec les credentials
✅ Utilisateur de test
- Username :
testuser - Password :
test123 - Email : test@lions.dev
- Rôles :
admin,user_manager
✅ Rôles créés
admin- Accès completuser_manager- Gestion utilisateursuser_viewer- Lecture seuleauditor- Consultation logssync_manager- Synchronisation
📦 Démarrage de l'application
1. Vérifier que Keycloak tourne
curl http://localhost:8180/realms/lions-user-manager/.well-known/openid-configuration
Si Keycloak ne tourne pas, le démarrer :
# 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)
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 :
# 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)
cd lions-user-manager-client-quarkus-primefaces-freya
mvn quarkus:dev
Configuration OIDC active pour le frontend (fichier application-dev.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
- Ouvrir : http://localhost:8080
- Vous serez redirigé vers Keycloak pour l'authentification
- Se connecter avec : testuser / test123
- 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 setup-keycloak-correct.sh
Problème : Impossible de se connecter avec testuser
Vérifications :
-
Vérifier que l'utilisateur existe dans le bon realm :
- Admin Console : http://localhost:8180/admin
- Realm :
lions-user-manager(pasmaster!) - Users → testuser
-
Vérifier le mot de passe :
test123 -
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 :
# 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
- ✅ Keycloak configuré
- ✅ Utilisateur de test créé
- ⏳ Tester l'authentification sur le frontend
- ⏳ Tester les API du backend
- ⏳ Développer les pages manquantes
- ⏳ Implémenter les fonctionnalités métier
📞 Support
En cas de problème :
- Vérifier les logs des applications
- Vérifier la configuration Keycloak dans l'Admin Console
- Consulter
KEYCLOAK_SETUP.mdpour plus de détails - Relancer
setup-keycloak-correct.shsi nécessaire
Date de configuration : 2025-12-04
Realm : lions-user-manager
Credentials test : testuser / test123