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:
lionsdev
2025-12-05 16:23:57 +00:00
parent b3ef7192ad
commit 4cd23c03ad
13 changed files with 1502 additions and 0 deletions

84
DEBUG_OIDC_CONFIG.md Normal file
View 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.