7.5 KiB
7.5 KiB
🔐 Configuration Architecture Rôles UnionFlow dans Keycloak
Ce repository contient tous les scripts nécessaires pour configurer complètement l'architecture des rôles UnionFlow dans Keycloak en utilisant exclusivement des commandes curl.
📋 Vue d'ensemble
L'architecture UnionFlow comprend 8 rôles métier hiérarchiques avec 8 comptes de test correspondants, permettant de tester tous les cas d'usage de l'application mobile.
🏗️ Architecture des Rôles
SUPER_ADMINISTRATEUR (100) ← Équipe technique UnionFlow
↓
ADMINISTRATEUR_ORGANISATION (85) ← Président/Directeur
↓
RESPONSABLE_TECHNIQUE (80) ← Secrétaire général/IT
RESPONSABLE_FINANCIER (75) ← Trésorier/Comptable
RESPONSABLE_MEMBRES (70) ← RH/Gestionnaire communauté
↓
MEMBRE_ACTIF (50) ← Membre engagé/Organisateur
↓
MEMBRE_SIMPLE (30) ← Membre cotisant standard
↓
VISITEUR (0) ← Personne intéressée/Non-membre
🚀 Scripts Disponibles
| Script | Description | Usage |
|---|---|---|
setup-unionflow-keycloak.sh |
Configuration complète - Crée tous les rôles et comptes | ./setup-unionflow-keycloak.sh |
verify-unionflow-keycloak.sh |
Vérification - Teste la configuration et génère un rapport | ./verify-unionflow-keycloak.sh |
test-mobile-auth.sh |
Test authentification - Simule l'auth mobile OAuth2 | ./test-mobile-auth.sh [username] |
cleanup-unionflow-keycloak.sh |
Nettoyage - Supprime complètement la configuration | ./cleanup-unionflow-keycloak.sh |
📦 Prérequis
Environnement
- Keycloak : Accessible sur
http://192.168.1.11:8180 - Realm :
unionflow(doit exister) - Client :
unionflow-mobile(doit être configuré) - Admin :
admin/admin
Outils système
# Vérifier la disponibilité des outils
curl --version
openssl version
base64 --version
Permissions
# Rendre les scripts exécutables
chmod +x *.sh
🔧 Installation et Configuration
Étape 1 : Configuration initiale
# 1. Cloner ou télécharger les scripts
# 2. Vérifier que Keycloak est accessible
curl -I http://192.168.1.11:8180
# 3. Lancer la configuration complète
./setup-unionflow-keycloak.sh
Étape 2 : Vérification
# Vérifier que tout est correctement configuré
./verify-unionflow-keycloak.sh
Étape 3 : Test d'authentification
# Tester tous les comptes
./test-mobile-auth.sh
# Tester un compte spécifique
./test-mobile-auth.sh marie.active
👥 Comptes de Test Créés
| Rôle | Username | Password | Niveau | |
|---|---|---|---|---|
| SUPER_ADMINISTRATEUR | superadmin |
superadmin@unionflow.dev |
SuperAdmin123! |
100 |
| ADMINISTRATEUR_ORGANISATION | admin.org |
admin@association-dev.fr |
AdminOrg123! |
85 |
| RESPONSABLE_TECHNIQUE | tech.lead |
tech@association-dev.fr |
TechLead123! |
80 |
| RESPONSABLE_FINANCIER | tresorier |
tresorier@association-dev.fr |
Tresorier123! |
75 |
| RESPONSABLE_MEMBRES | rh.manager |
rh@association-dev.fr |
RhManager123! |
70 |
| MEMBRE_ACTIF | marie.active |
marie@association-dev.fr |
Marie123! |
50 |
| MEMBRE_SIMPLE | jean.simple |
jean@association-dev.fr |
Jean123! |
30 |
| VISITEUR | visiteur |
visiteur@example.com |
Visiteur123! |
0 |
📱 Intégration Application Mobile
Configuration Flutter
// Configuration Keycloak dans l'app mobile
const keycloakConfig = {
'serverUrl': 'http://192.168.1.11:8180',
'realm': 'unionflow',
'clientId': 'unionflow-mobile',
'redirectUri': 'dev.lions.unionflow-mobile://auth/callback',
};
Test d'authentification
# Tester l'authentification avec le compte marie.active
./test-mobile-auth.sh marie.active
# Résultat attendu :
# ✓ marie.active (marie@association-dev.fr) - Authentification réussie
# ✓ Tokens obtenus avec succès
# ✓ Informations utilisateur récupérées
🔍 Dashboards par Rôle
Chaque rôle a accès à son dashboard spécifique :
🔴 Super Administrateur
- Dashboard : Command Center système
- Fonctionnalités : Métriques globales, gestion multi-organisations, monitoring
🔵 Administrateur Organisation
- Dashboard : Vue d'ensemble organisation
- Fonctionnalités : KPI organisation, gestion membres/finances, rapports
🟢 Responsable Technique
- Dashboard : Outils techniques
- Fonctionnalités : Configuration, workflows, gestion événements
🟡 Responsable Financier
- Dashboard : Analytics financiers
- Fonctionnalités : Budget, cotisations, rapports comptables
🟣 Responsable Membres
- Dashboard : Gestion communauté
- Fonctionnalités : Engagement membres, communication, solidarité
🟠 Membre Actif
- Dashboard : Activity Center personnel
- Fonctionnalités : Mes événements, contributions, engagement
⚪ Membre Simple
- Dashboard : Vue personnelle
- Fonctionnalités : Profil, cotisations, événements disponibles
🔵 Visiteur
- Dashboard : Landing page attractive
- Fonctionnalités : Découverte organisation, événements publics, inscription
🛠️ Dépannage
Problèmes courants
1. Erreur de connexion Keycloak
# Vérifier que Keycloak est accessible
curl -I http://192.168.1.11:8180
# Si erreur, vérifier l'IP et le port
2. Token d'administration invalide
# Vérifier les credentials admin
curl -X POST "http://192.168.1.11:8180/realms/master/protocol/openid-connect/token" \
-d "username=admin&password=admin&grant_type=password&client_id=admin-cli"
3. Rôles ou utilisateurs non créés
# Relancer la configuration
./cleanup-unionflow-keycloak.sh
./setup-unionflow-keycloak.sh
4. Authentification mobile échoue
# Vérifier la configuration du client unionflow-mobile
# S'assurer que les redirect URIs sont corrects
Logs de débogage
# Activer les logs détaillés
export DEBUG=1
./setup-unionflow-keycloak.sh
# Vérifier les réponses curl
curl -v [commande...]
🔄 Maintenance
Mise à jour des rôles
# 1. Sauvegarder la configuration actuelle
./verify-unionflow-keycloak.sh > backup-config.txt
# 2. Nettoyer
./cleanup-unionflow-keycloak.sh
# 3. Reconfigurer avec les nouveaux paramètres
./setup-unionflow-keycloak.sh
Ajout de nouveaux comptes
# Modifier le script setup-unionflow-keycloak.sh
# Ajouter les nouveaux comptes dans la section appropriée
# Relancer la configuration
📊 Monitoring
Vérification périodique
# Script de vérification quotidienne
./verify-unionflow-keycloak.sh
# Test d'authentification hebdomadaire
./test-mobile-auth.sh
Métriques importantes
- ✅ 8/8 rôles configurés
- ✅ 8/8 comptes de test fonctionnels
- ✅ 100% des authentifications réussies
- ✅ Tokens JWT valides avec rôles
🚀 Prochaines Étapes
- Intégration Backend : Mettre à jour les annotations
@RolesAlloweddans le code Java - Synchronisation Mobile : Adapter les dashboards selon les nouveaux rôles
- Tests E2E : Implémenter des tests automatisés complets
- Documentation : Créer la documentation utilisateur par rôle
📞 Support
En cas de problème :
- Consulter les logs des scripts
- Vérifier la configuration Keycloak via l'interface admin
- Tester manuellement les endpoints avec curl
- Utiliser le script de nettoyage et reconfigurer si nécessaire
🎉 Configuration UnionFlow Keycloak - Prête pour la production !