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

85 lines
2.7 KiB
Markdown

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