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:
80
OIDC_ENCRYPTION_SECRET.md
Normal file
80
OIDC_ENCRYPTION_SECRET.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# 🔐 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** : `Clients` → `lions-user-manager-client`
|
||||
5. **Onglet** : `Credentials` (ou `Settings` → `Credentials`)
|
||||
6. **Copier** : Le `Client Secret` (ou `Secret`)
|
||||
|
||||
### Exemple de configuration
|
||||
|
||||
```properties
|
||||
# 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é :
|
||||
|
||||
```properties
|
||||
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 :
|
||||
|
||||
```bash
|
||||
# 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**.
|
||||
|
||||
Reference in New Issue
Block a user