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:
84
DEBUG_OIDC_CONFIG.md
Normal file
84
DEBUG_OIDC_CONFIG.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# 🔍 Debug OIDC Configuration - Encryption Secret
|
||||
|
||||
## Problème
|
||||
L'erreur `Secret key for encrypting state cookie is less than 16 characters long` persiste malgré la configuration.
|
||||
|
||||
## Solutions à essayer
|
||||
|
||||
### 1. Nettoyer le cache Quarkus
|
||||
```bash
|
||||
cd lions-user-manager-client-quarkus-primefaces-freya
|
||||
mvn clean
|
||||
rm -rf target/
|
||||
mvn quarkus:dev
|
||||
```
|
||||
|
||||
### 2. Vérifier que la propriété est chargée
|
||||
Ajouter dans `application-dev.properties` :
|
||||
```properties
|
||||
# Debug: Vérifier que la propriété est chargée
|
||||
quarkus.log.category."io.quarkus.oidc".level=DEBUG
|
||||
```
|
||||
|
||||
### 3. Utiliser une variable d'environnement
|
||||
Au lieu de mettre la valeur directement dans le fichier, utiliser une variable :
|
||||
```properties
|
||||
quarkus.oidc.token-state-manager.encryption-secret=${OIDC_ENCRYPTION_SECRET:NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO}
|
||||
```
|
||||
|
||||
Puis définir la variable d'environnement :
|
||||
```bash
|
||||
export OIDC_ENCRYPTION_SECRET=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
```
|
||||
|
||||
### 4. Vérifier l'ordre de chargement
|
||||
Quarkus charge les fichiers dans cet ordre :
|
||||
1. `application.properties`
|
||||
2. `application-{profile}.properties` (ex: `application-dev.properties`)
|
||||
3. Variables d'environnement
|
||||
4. Propriétés système
|
||||
|
||||
Si la propriété est définie dans `application.properties` avec `%dev.` ET dans `application-dev.properties` sans préfixe, celle de `application-dev.properties` devrait prendre le dessus.
|
||||
|
||||
### 5. Vérifier le format de la valeur
|
||||
Assurez-vous qu'il n'y a pas d'espaces ou de caractères invisibles :
|
||||
```properties
|
||||
# ❌ MAUVAIS (espaces)
|
||||
quarkus.oidc.token-state-manager.encryption-secret= NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
|
||||
# ✅ BON
|
||||
quarkus.oidc.token-state-manager.encryption-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
```
|
||||
|
||||
### 6. Vérifier la longueur de la valeur
|
||||
La valeur `NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO` fait **32 caractères**, ce qui est suffisant.
|
||||
|
||||
### 7. Solution de contournement temporaire
|
||||
Si le problème persiste, désactiver temporairement le token state manager :
|
||||
```properties
|
||||
quarkus.oidc.token-state-manager.enabled=false
|
||||
```
|
||||
|
||||
**⚠️ ATTENTION** : Cette solution désactive le chiffrement des cookies d'état, ce qui peut être un problème de sécurité en production.
|
||||
|
||||
## Configuration actuelle
|
||||
|
||||
### application.properties (ligne 81)
|
||||
```properties
|
||||
%dev.quarkus.oidc.token-state-manager.encryption-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
```
|
||||
|
||||
### application-dev.properties (ligne 36)
|
||||
```properties
|
||||
quarkus.oidc.token-state-manager.encryption-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
```
|
||||
|
||||
## Vérification
|
||||
|
||||
Pour vérifier que la propriété est bien chargée, ajouter ce log au démarrage :
|
||||
```properties
|
||||
quarkus.log.category."io.quarkus.oidc.runtime".level=TRACE
|
||||
```
|
||||
|
||||
Les logs devraient montrer la valeur chargée.
|
||||
|
||||
Reference in New Issue
Block a user