Refactoring
This commit is contained in:
64
assign-roles.sh
Normal file
64
assign-roles.sh
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user