#!/bin/bash KEYCLOAK_URL="http://localhost:8180" ADMIN_USER="admin" ADMIN_PASS="admin" REALM_NAME="unionflow" USER_ID="4ebcdfef-960e-4dd2-b89c-028129af906d" echo "🔧 Attribution des rôles à l'utilisateur test..." # Obtenir le token TOKEN=$(curl -s -X POST "$KEYCLOAK_URL/realms/master/protocol/openid-connect/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=$ADMIN_USER" \ -d "password=$ADMIN_PASS" \ -d "grant_type=password" \ -d "client_id=admin-cli" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4) if [ -z "$TOKEN" ]; then echo "❌ Impossible d'obtenir le token" exit 1 fi # Récupérer les rôles ROLES_JSON=$(curl -s -X GET "$KEYCLOAK_URL/admin/realms/$REALM_NAME/roles" \ -H "Authorization: Bearer $TOKEN") # Extraire les IDs des rôles MEMBRE et ADMIN_ENTITE ROLE_MEMBRE_ID=$(echo "$ROLES_JSON" | grep -o '"id":"[^"]*","name":"MEMBRE"' | grep -o '"id":"[^"]*' | cut -d'"' -f4) ROLE_ADMIN_ID=$(echo "$ROLES_JSON" | grep -o '"id":"[^"]*","name":"ADMIN_ENTITE"' | grep -o '"id":"[^"]*' | cut -d'"' -f4) echo "MEMBRE ID: $ROLE_MEMBRE_ID" echo "ADMIN_ENTITE ID: $ROLE_ADMIN_ID" if [ -n "$ROLE_MEMBRE_ID" ]; then curl -s -X POST "$KEYCLOAK_URL/admin/realms/$REALM_NAME/users/$USER_ID/role-mappings/realm" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d "[{\"id\":\"$ROLE_MEMBRE_ID\",\"name\":\"MEMBRE\"}]" > /dev/null 2>&1 echo "✅ Rôle MEMBRE assigné" fi if [ -n "$ROLE_ADMIN_ID" ]; then curl -s -X POST "$KEYCLOAK_URL/admin/realms/$REALM_NAME/users/$USER_ID/role-mappings/realm" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d "[{\"id\":\"$ROLE_ADMIN_ID\",\"name\":\"ADMIN_ENTITE\"}]" > /dev/null 2>&1 echo "✅ Rôle ADMIN_ENTITE assigné" fi echo "" echo "======================================================== " echo "✅ Configuration terminée!" echo "========================================================" echo "" echo "📋 Identifiants de connexion:" echo " - Username: test@unionflow.dev" echo " - Password: test123" echo "" echo "🚀 Prochaines étapes:" echo " 1. Lancez l'application: ./start-local.sh" echo " 2. Accédez à: http://localhost:8086" echo " 3. Connectez-vous avec les identifiants ci-dessus" echo ""