Refactoring
This commit is contained in:
150
setup-direct.sh
Normal file
150
setup-direct.sh
Normal file
@@ -0,0 +1,150 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "============================================================================="
|
||||
echo "🚀 CONFIGURATION DIRECTE KEYCLOAK UNIONFLOW"
|
||||
echo "============================================================================="
|
||||
|
||||
KEYCLOAK_URL="http://localhost:8180"
|
||||
|
||||
# Fonction pour créer le realm via l'interface web
|
||||
create_realm_direct() {
|
||||
echo "🏗️ Tentative de création du realm unionflow..."
|
||||
|
||||
# Essayons de créer le realm directement
|
||||
curl -s -X POST \
|
||||
"${KEYCLOAK_URL}/admin/realms" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"realm": "unionflow",
|
||||
"enabled": true,
|
||||
"displayName": "UnionFlow",
|
||||
"loginWithEmailAllowed": true,
|
||||
"duplicateEmailsAllowed": false,
|
||||
"resetPasswordAllowed": true,
|
||||
"editUsernameAllowed": false,
|
||||
"bruteForceProtected": false
|
||||
}' > /dev/null 2>&1
|
||||
|
||||
echo "✅ Tentative de création du realm effectuée"
|
||||
}
|
||||
|
||||
# Fonction pour tester l'authentification
|
||||
test_auth() {
|
||||
local username=$1
|
||||
local password=$2
|
||||
|
||||
echo -n "Test ${username}... "
|
||||
|
||||
response=$(curl -s -X POST \
|
||||
"${KEYCLOAK_URL}/realms/unionflow/protocol/openid-connect/token" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-d "username=${username}&password=${password}&grant_type=password&client_id=unionflow-mobile")
|
||||
|
||||
if echo "$response" | grep -q "access_token"; then
|
||||
echo "✅ SUCCÈS"
|
||||
return 0
|
||||
else
|
||||
echo "❌ ÉCHEC"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction principale
|
||||
main() {
|
||||
echo "🔍 Vérification de la connexion à Keycloak..."
|
||||
|
||||
if ! curl -s "${KEYCLOAK_URL}" > /dev/null; then
|
||||
echo "❌ Keycloak n'est pas accessible sur ${KEYCLOAK_URL}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Keycloak accessible"
|
||||
|
||||
# Créer le realm
|
||||
create_realm_direct
|
||||
|
||||
echo ""
|
||||
echo "============================================================================="
|
||||
echo "📋 INSTRUCTIONS MANUELLES"
|
||||
echo "============================================================================="
|
||||
echo ""
|
||||
echo "🌐 Ouvrez votre navigateur sur: http://localhost:8180"
|
||||
echo ""
|
||||
echo "1️⃣ PREMIÈRE CONNEXION :"
|
||||
echo " • Cliquez sur 'Administration Console'"
|
||||
echo " • Créez un compte admin si demandé"
|
||||
echo " • Ou utilisez admin/admin123 si disponible"
|
||||
echo ""
|
||||
echo "2️⃣ CRÉER LE REALM :"
|
||||
echo " • Cliquez sur 'Create Realm'"
|
||||
echo " • Nom: unionflow"
|
||||
echo " • Cliquez 'Create'"
|
||||
echo ""
|
||||
echo "3️⃣ CRÉER LE CLIENT :"
|
||||
echo " • Allez dans Clients > Create client"
|
||||
echo " • Client ID: unionflow-mobile"
|
||||
echo " • Client type: OpenID Connect"
|
||||
echo " • Cliquez 'Next' puis 'Save'"
|
||||
echo " • Dans Settings: Public client = ON"
|
||||
echo " • Direct access grants = ON"
|
||||
echo " • Cliquez 'Save'"
|
||||
echo ""
|
||||
echo "4️⃣ CRÉER LES RÔLES :"
|
||||
echo " • Allez dans Realm roles > Create role"
|
||||
echo " • Créez ces rôles :"
|
||||
echo " - SUPER_ADMINISTRATEUR"
|
||||
echo " - RESPONSABLE_TECHNIQUE"
|
||||
echo " - RESPONSABLE_MEMBRES"
|
||||
echo " - MEMBRE_ACTIF"
|
||||
echo " - MEMBRE_SIMPLE"
|
||||
echo ""
|
||||
echo "5️⃣ CRÉER LES UTILISATEURS :"
|
||||
echo " • Allez dans Users > Add user"
|
||||
echo " • Créez ces comptes :"
|
||||
echo ""
|
||||
echo " 👤 superadmin"
|
||||
echo " Email: superadmin@unionflow.com"
|
||||
echo " First name: Super, Last name: Admin"
|
||||
echo " Mot de passe: SuperAdmin123!"
|
||||
echo " Rôle: SUPER_ADMINISTRATEUR"
|
||||
echo ""
|
||||
echo " 👤 marie.active"
|
||||
echo " Email: marie.active@unionflow.com"
|
||||
echo " First name: Marie, Last name: Active"
|
||||
echo " Mot de passe: Marie123!"
|
||||
echo " Rôle: MEMBRE_ACTIF"
|
||||
echo ""
|
||||
echo " 👤 jean.simple"
|
||||
echo " Email: jean.simple@unionflow.com"
|
||||
echo " First name: Jean, Last name: Simple"
|
||||
echo " Mot de passe: Jean123!"
|
||||
echo " Rôle: MEMBRE_SIMPLE"
|
||||
echo ""
|
||||
echo " 👤 tech.lead"
|
||||
echo " Email: tech.lead@unionflow.com"
|
||||
echo " First name: Tech, Last name: Lead"
|
||||
echo " Mot de passe: TechLead123!"
|
||||
echo " Rôle: RESPONSABLE_TECHNIQUE"
|
||||
echo ""
|
||||
echo " 👤 rh.manager"
|
||||
echo " Email: rh.manager@unionflow.com"
|
||||
echo " First name: RH, Last name: Manager"
|
||||
echo " Mot de passe: RhManager123!"
|
||||
echo " Rôle: RESPONSABLE_MEMBRES"
|
||||
echo ""
|
||||
echo "6️⃣ POUR CHAQUE UTILISATEUR :"
|
||||
echo " • Après création, allez dans l'onglet 'Credentials'"
|
||||
echo " • Cliquez 'Set password'"
|
||||
echo " • Entrez le mot de passe, décochez 'Temporary'"
|
||||
echo " • Allez dans 'Role mapping'"
|
||||
echo " • Cliquez 'Assign role' et sélectionnez le bon rôle"
|
||||
echo ""
|
||||
echo "7️⃣ TESTER :"
|
||||
echo " • Une fois terminé, exécutez: ./verify-final.sh"
|
||||
echo ""
|
||||
echo "============================================================================="
|
||||
echo "🎯 APRÈS CONFIGURATION MANUELLE, TOUS LES COMPTES FONCTIONNERONT !"
|
||||
echo "============================================================================="
|
||||
}
|
||||
|
||||
main
|
||||
Reference in New Issue
Block a user