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/OIDC_ENCRYPTION_SECRET.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

3.0 KiB

🔐 Configuration OIDC - Encryption Secret

Qu'est-ce que quarkus.oidc.token-state-manager.encryption-secret ?

Cette propriété est requise lorsque OIDC est activé dans Quarkus. Elle sert à chiffrer les cookies d'état utilisés lors du flux d'authentification OIDC.

⚠️ Exigences

  • Longueur minimale : 16 caractères
  • Recommandé : 32 caractères ou plus pour une meilleure sécurité
  • Type : Chaîne de caractères aléatoire

📍 Où trouver le secret dans Keycloak ?

Pour le Client (lions-user-manager-client)

  1. Accéder à Keycloak Admin Console : http://localhost:8180/admin
  2. Se connecter avec admin / admin
  3. Sélectionner le Realm : lions-user-manager (ou le realm que vous utilisez)
  4. Aller dans : Clientslions-user-manager-client
  5. Onglet : Credentials (ou SettingsCredentials)
  6. Copier : Le Client Secret (ou Secret)

Exemple de configuration

# Dans application-dev.properties (CLIENT)
quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
quarkus.oidc.client-id=lions-user-manager-client
quarkus.oidc.credentials.secret=<SECRET_COPIÉ_DE_KEYCLOAK>
quarkus.oidc.token-state-manager.encryption-secret=<CLÉ_DE_CHIFFREMENT_16_CHARS_MIN>

🔑 Différence entre les deux secrets

1. quarkus.oidc.credentials.secret

  • Source : Keycloak (Client Secret)
  • Usage : Authentification du client auprès de Keycloak
  • Où le trouver : Keycloak Admin Console → Clients → [votre-client] → Credentials → Secret

2. quarkus.oidc.token-state-manager.encryption-secret

  • Source : Vous (générez vous-même)
  • Usage : Chiffrement des cookies d'état OIDC
  • Génération : Chaîne aléatoire d'au moins 16 caractères

Solution actuelle

Dans application-dev.properties du client, j'ai ajouté :

quarkus.oidc.token-state-manager.encryption-secret=client-secret-lions-2025-encryption-key-min-16-chars

Cette clé fait 48 caractères et est suffisante pour le développement.

🔒 Pour la production

En production, utilisez une clé générée de manière sécurisée :

# Générer une clé aléatoire de 32 caractères
openssl rand -base64 32

Ou utilisez un outil en ligne pour générer une clé aléatoire.

📝 Notes importantes

  1. Le secret de chiffrement n'est PAS le Client Secret de Keycloak
  2. C'est une clé que vous générez vous-même pour chiffrer les cookies
  3. Elle doit être la même pour tous les nœuds d'un cluster (en production)
  4. Ne la commitez PAS dans le dépôt Git si elle contient des informations sensibles

🎯 Configuration actuelle

  • Client Secret Keycloak : NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO (dans application-dev.properties)
  • Encryption Secret : client-secret-lions-2025-encryption-key-min-16-chars (ajouté)

Ces deux valeurs sont différentes et servent à des usages différents.