- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
4.8 KiB
🔍 Guide de Diagnostic - Démarrage du Backend
⚠️ Problème : Le serveur semble démarrer mais le client ne peut pas se connecter
📋 Vérifications à effectuer
1. Vérifier que le serveur a TERMINÉ son démarrage
Le serveur n'est pas prêt tant que vous ne voyez PAS ces messages dans les logs :
✅ Connexion à Keycloak réussie!
Listening on: http://localhost:8081
Les logs que vous voyez actuellement (scanning OpenAPI, certificats SSL, etc.) sont normaux mais indiquent que le serveur est encore en train de démarrer.
2. Attendre la fin du démarrage
Le démarrage peut prendre 30 secondes à 2 minutes selon votre machine. Attendez de voir :
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) lions-user-manager-server-impl-quarkus 1.0.0 on JVM (powered by Quarkus 3.15.1) started in X.XXXs. Listening on: http://localhost:8081
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) Profile dev activated.
2025-01-XX XX:XX:XX,XXX INFO [io.quarkus] (main) Installed features: [cdi, resteasy-reactive, resteasy-reactive-jackson, smallrye-context-propagation, smallrye-fault-tolerance, smallrye-health, smallrye-openapi, swagger-ui, vertx]
3. Vérifier la connexion Keycloak
Après le démarrage, vous devriez voir :
========================================
Initialisation du client Keycloak Admin
========================================
Server URL: http://localhost:8180
Admin Realm: master
Admin Client ID: admin-cli
Admin Username: admin
Connection Pool Size: 5
Timeout: 30 secondes
✅ Connexion à Keycloak réussie!
Si vous voyez une erreur ici, c'est que Keycloak n'est pas accessible.
4. Tester manuellement que le serveur répond
Une fois le serveur démarré, ouvrez un nouveau terminal et testez :
# Test 1: Health Check
curl http://localhost:8081/health
# Test 2: Swagger UI (ouvrir dans le navigateur)
# http://localhost:8081/q/swagger-ui
# Test 3: API Roles
curl "http://localhost:8081/api/roles/realm?realm=master"
5. Vérifier que Keycloak est accessible
# Test Keycloak
curl http://localhost:8180/realms/master/.well-known/openid-configuration
Si cette commande échoue, Keycloak n'est pas démarré ou n'est pas accessible.
🐛 Problèmes courants
Problème 1 : Le serveur est bloqué sur "OIDC Dev Console: discovering..."
Cause : Quarkus essaie de découvrir le provider OIDC même si OIDC est désactivé.
Solution : J'ai ajouté dans application-dev.properties :
quarkus.oidc.enabled=false
quarkus.oidc.dev-ui.enabled=false
quarkus.oidc.discovery-enabled=false
Action : Redémarrer le serveur après cette modification.
Problème 2 : "Connection refused: localhost:8180"
Cause : Keycloak n'est pas démarré.
Solution : Démarrer Keycloak sur http://localhost:8180 avec les identifiants admin/admin.
Problème 3 : Le serveur démarre mais ne répond pas sur le port 8081
Cause : Le port 8081 est peut-être déjà utilisé par un autre processus.
Vérification :
# Windows
netstat -ano | findstr :8081
# Si un processus utilise le port, notez le PID et arrêtez-le
taskkill /PID <PID> /F
Problème 4 : "Impossible de se connecter à Keycloak"
Cause : Les identifiants Keycloak sont incorrects ou Keycloak n'est pas accessible.
Vérification :
- Vérifier que Keycloak est démarré :
curl http://localhost:8180/health - Vérifier les identifiants dans
application-dev.properties:lions.keycloak.server-url=http://localhost:8180 lions.keycloak.admin-username=admin lions.keycloak.admin-password=admin
✅ Checklist de démarrage réussi
- Le serveur affiche "Listening on: http://localhost:8081"
- Le message "✅ Connexion à Keycloak réussie!" apparaît
curl http://localhost:8081/healthretourne une réponsecurl http://localhost:8180/realms/master/.well-known/openid-configurationfonctionne- Le client peut se connecter au backend
📝 Prochaines étapes
Une fois que le serveur a complètement démarré (avec le message "Listening on: http://localhost:8081"), vous pouvez :
- Démarrer le client dans un autre terminal
- Accéder à
http://localhost:8080/pages/user-manager/roles/list.xhtml - Les rôles devraient se charger depuis Keycloak
🔄 Si le problème persiste
- Arrêter le serveur (Ctrl+C)
- Vérifier que Keycloak est démarré :
curl http://localhost:8180/health - Redémarrer le serveur :
mvn quarkus:dev - Attendre le message "Listening on: http://localhost:8081"
- Tester :
curl http://localhost:8081/health