#!/bin/bash echo "=============================================================================" echo "🧪 TEST FINAL AUTHENTIFICATION UNIONFLOW" echo "=============================================================================" echo "" # Comptes à tester declare -A accounts=( ["marie.active"]="Marie123!" ["superadmin"]="SuperAdmin123!" ["jean.simple"]="Jean123!" ["tech.lead"]="TechLead123!" ["rh.manager"]="RhManager123!" ) success_count=0 total_count=${#accounts[@]} echo "Test d'authentification avec les comptes créés..." echo "" for username in "${!accounts[@]}"; do password="${accounts[$username]}" echo -n "Test $username... " response=$(curl -s -X POST \ "http://192.168.1.145:8180/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" ((success_count++)) # Extraire quelques infos du token access_token=$(echo "$response" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4) # Obtenir les infos utilisateur user_info=$(curl -s -X GET \ "http://192.168.1.145:8180/realms/unionflow/protocol/openid-connect/userinfo" \ -H "Authorization: Bearer ${access_token}") if echo "$user_info" | grep -q "email"; then email=$(echo "$user_info" | grep -o '"email":"[^"]*' | cut -d'"' -f4) echo " → Email: $email" fi else echo "✗ ÉCHEC" echo " → Réponse: ${response:0:100}..." fi echo "" done echo "=============================================================================" echo "📊 RÉSULTATS FINAUX" echo "=============================================================================" echo "" echo "✅ Comptes fonctionnels : $success_count/$total_count" echo "" if [ $success_count -eq $total_count ]; then echo "🎉 PARFAIT ! Tous les comptes fonctionnent !" echo "" echo "🚀 PRÊT POUR L'APPLICATION MOBILE :" echo " • Utilisez marie.active / Marie123! pour tester" echo " • Ou superadmin / SuperAdmin123! pour les tests admin" echo " • L'authentification Keycloak est 100% opérationnelle" echo "" elif [ $success_count -gt 0 ]; then echo "⚠️ Configuration partielle réussie" echo " • $success_count comptes fonctionnent" echo " • Vous pouvez tester avec les comptes qui marchent" echo "" else echo "❌ Aucun compte ne fonctionne" echo " • Vérifiez la configuration Keycloak" echo " • Relancez le script de configuration si nécessaire" echo "" fi echo "=============================================================================" echo "✅ TEST TERMINÉ" echo "============================================================================="