This repository has been archived on 2026-01-03. You can view files and clone it, but cannot push or open issues or pull requests.
Files
lions-user-manager/DEBUG_OIDC_CONFIG.md
lionsdev 4cd23c03ad 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
2025-12-05 16:23:57 +00:00

2.7 KiB

🔍 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

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 :

# 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 :

quarkus.oidc.token-state-manager.encryption-secret=${OIDC_ENCRYPTION_SECRET:NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO}

Puis définir la variable d'environnement :

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 :

# ❌ 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 :

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)

%dev.quarkus.oidc.token-state-manager.encryption-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO

application-dev.properties (ligne 36)

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 :

quarkus.log.category."io.quarkus.oidc.runtime".level=TRACE

Les logs devraient montrer la valeur chargée.