- Documentation configuration OIDC, démarrage, diagnostic - Scripts batch pour démarrage backend et client - Script shell pour configuration Keycloak frontend
147 lines
4.8 KiB
Markdown
147 lines
4.8 KiB
Markdown
# 🔍 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 :
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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` :
|
|
```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** :
|
|
```bash
|
|
# 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** :
|
|
1. Vérifier que Keycloak est démarré : `curl http://localhost:8180/health`
|
|
2. 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/health` retourne une réponse
|
|
- [ ] `curl http://localhost:8180/realms/master/.well-known/openid-configuration` fonctionne
|
|
- [ ] 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 :
|
|
|
|
1. Démarrer le client dans un autre terminal
|
|
2. Accéder à `http://localhost:8080/pages/user-manager/roles/list.xhtml`
|
|
3. Les rôles devraient se charger depuis Keycloak
|
|
|
|
### 🔄 Si le problème persiste
|
|
|
|
1. **Arrêter** le serveur (Ctrl+C)
|
|
2. **Vérifier** que Keycloak est démarré : `curl http://localhost:8180/health`
|
|
3. **Redémarrer** le serveur : `mvn quarkus:dev`
|
|
4. **Attendre** le message "Listening on: http://localhost:8081"
|
|
5. **Tester** : `curl http://localhost:8081/health`
|
|
|