Refactoring
This commit is contained in:
160
README_KEYCLOAK.md
Normal file
160
README_KEYCLOAK.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# 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.145: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.
|
||||
Reference in New Issue
Block a user