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

