# 🔍 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.