Files
unionflow-server-impl-quarkus/README_KEYCLOAK.md

161 lines
4.0 KiB
Markdown

# Configuration Automatique Keycloak pour UnionFlow
Ce dossier contient des scripts Python pour configurer automatiquement Keycloak avec tous les comptes nécessaires pour l'application UnionFlow.
## 🚀 Démarrage Rapide
### Option 1 : Configuration Automatique Complète
```bash
python start_keycloak.py
```
Ce script fait tout automatiquement :
- Démarre Keycloak avec Docker
- Crée le realm `unionflow`
- Crée le client `unionflow-mobile`
- Crée tous les rôles
- Crée tous les utilisateurs avec leurs mots de passe
- Teste l'authentification
### Option 2 : Configuration Manuelle
```bash
# 1. Démarrer Keycloak manuellement
docker run -d --name unionflow-keycloak -p 8180:8080 \
-e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin123 \
quay.io/keycloak/keycloak:23.0.0 start-dev
# 2. Attendre que Keycloak soit prêt (2-3 minutes)
# 3. Configurer automatiquement
python setup_keycloak.py
```
### Test des Comptes
```bash
python test_auth.py
```
## 📋 Comptes Créés
| Utilisateur | Mot de passe | Rôle |
|-------------|--------------|------|
| `superadmin` | `SuperAdmin123!` | SUPER_ADMINISTRATEUR |
| `marie.active` | `Marie123!` | MEMBRE_ACTIF |
| `jean.simple` | `Jean123!` | MEMBRE_SIMPLE |
| `tech.lead` | `TechLead123!` | RESPONSABLE_TECHNIQUE |
| `rh.manager` | `RhManager123!` | RESPONSABLE_MEMBRES |
## 🔧 Configuration Technique
### Keycloak
- **URL** : http://localhost:8180
- **Realm** : unionflow
- **Client ID** : unionflow-mobile
- **Client Type** : Public (pour mobile)
- **Direct Access Grants** : Activé
### Rôles Créés
- `SUPER_ADMINISTRATEUR`
- `RESPONSABLE_TECHNIQUE`
- `RESPONSABLE_MEMBRES`
- `MEMBRE_ACTIF`
- `MEMBRE_SIMPLE`
## 📱 Intégration Mobile
Pour votre application Android UnionFlow, utilisez ces paramètres :
```kotlin
// Configuration Keycloak
val keycloakUrl = "http://192.168.1.11:8180" // Remplacez par votre IP
val realm = "unionflow"
val clientId = "unionflow-mobile"
// Test d'authentification
val username = "marie.active"
val password = "Marie123!"
```
## 🛠️ Scripts Disponibles
### `start_keycloak.py`
Script principal qui :
- Démarre Keycloak automatiquement
- Lance la configuration complète
- Affiche le statut final
### `setup_keycloak.py`
Script de configuration qui :
- Se connecte à Keycloak avec les credentials admin
- Crée le realm, client, rôles et utilisateurs
- Teste l'authentification
### `test_auth.py`
Script de test qui :
- Teste l'authentification de tous les comptes
- Affiche un rapport détaillé
- Confirme que tout fonctionne
## 🔍 Dépannage
### Keycloak ne démarre pas
```bash
# Vérifier Docker
docker ps
# Voir les logs
docker logs unionflow-keycloak
# Redémarrer
docker stop unionflow-keycloak
docker rm unionflow-keycloak
python start_keycloak.py
```
### Erreur d'authentification admin
Si le script ne peut pas se connecter comme admin :
1. Ouvrez http://localhost:8180
2. Cliquez sur "Administration Console"
3. Créez un compte admin
4. Relancez `python setup_keycloak.py`
### Comptes ne fonctionnent pas
```bash
# Tester individuellement
python test_auth.py
# Reconfigurer
python setup_keycloak.py
```
## 📦 Prérequis
- Python 3.6+
- Docker
- Module `requests` : `pip install requests`
## 🎯 Résultat Attendu
Après exécution réussie, vous devriez voir :
```
✅ CONFIGURATION TERMINÉE AVEC SUCCÈS !
🎯 COMPTES CRÉÉS :
• superadmin / SuperAdmin123! (SUPER_ADMINISTRATEUR)
• marie.active / Marie123! (MEMBRE_ACTIF)
• jean.simple / Jean123! (MEMBRE_SIMPLE)
• tech.lead / TechLead123! (RESPONSABLE_TECHNIQUE)
• rh.manager / RhManager123! (RESPONSABLE_MEMBRES)
🚀 PRÊT POUR L'APPLICATION MOBILE UNIONFLOW !
```
## 🔗 URLs Utiles
- **Interface Admin** : http://localhost:8180/admin/
- **Realm UnionFlow** : http://localhost:8180/realms/unionflow
- **Token Endpoint** : http://localhost:8180/realms/unionflow/protocol/openid-connect/token
---
**Note** : Ces scripts sont conçus pour un environnement de développement. Pour la production, utilisez des mots de passe plus sécurisés et une configuration HTTPS.