161 lines
4.0 KiB
Markdown
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.
|