# 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.