diff --git a/keycloak-adm-clients.sh b/keycloak-adm-clients.sh deleted file mode 100755 index 77a6715..0000000 --- a/keycloak-adm-clients.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -# Configuration -KEYCLOAK_CONTAINER="keycloak" -KEYCLOAK_URL="http://localhost:8080" -REALM="mon-realm" -ADMIN_USER="admin" -ADMIN_PASS="admin" -CLIENT_IDS=("mon-client-1" "mon-client-2" "mon-client-3") -# CLIENT_IDS=("adventure" "ai" "djangoquiz" "gitea" "glpi" "grafana" "leboard.legaragenumerique.fr" "netxcloud.legaragenumerique.fr" "odoo" "pdf" "penpot" "sshwifty" "synapse") -EXPORT_FILE="clients-export.json" - -# Exécuter kcadm dans le conteneur -kcadm() { - docker exec -i "$KEYCLOAK_CONTAINER" /opt/keycloak/bin/kcadm.sh "$@" -} - -# Authentification -login() { - kcadm config credentials --server "$KEYCLOAK_URL" --realm master --user "$ADMIN_USER" --password "$ADMIN_PASS" -} - -# Export des clients et mappers -export_clients() { - echo "[" > "$EXPORT_FILE" - for CLIENT_ID in "${CLIENT_IDS[@]}"; do - echo "🔄 Export du client : $CLIENT_ID" - - CLIENT_JSON=$(kcadm get clients -r "$REALM" -q clientId="$CLIENT_ID" | jq '.[0]') - CLIENT_UUID=$(echo "$CLIENT_JSON" | jq -r '.id') - - CLIENT_SECRET=$(kcadm get clients/"$CLIENT_UUID"/client-secret -r "$REALM" | jq -r '.value') - CLIENT_JSON=$(echo "$CLIENT_JSON" | jq --arg secret "$CLIENT_SECRET" '.secret = $secret') - - # Export des protocol mappers - MAPPERS_JSON=$(kcadm get clients/"$CLIENT_UUID"/protocol-mappers/models -r "$REALM") - CLIENT_JSON=$(echo "$CLIENT_JSON" | jq --argjson mappers "$MAPPERS_JSON" '.protocolMappers = $mappers') - - echo "$CLIENT_JSON," >> "$EXPORT_FILE" - done - sed -i '$ s/,$//' "$EXPORT_FILE" - echo "]" >> "$EXPORT_FILE" - echo "✅ Export terminé → $EXPORT_FILE" -} - -# Import des clients et mappers -import_clients() { - jq -c '.[]' "$EXPORT_FILE" | while read -r CLIENT_JSON; do - CLIENT_ID=$(echo "$CLIENT_JSON" | jq -r '.clientId') - echo "⬇️ Import du client : $CLIENT_ID" - - CLEAN_JSON=$(echo "$CLIENT_JSON" | jq 'del(.id, .secret, .rootUrl, .baseUrl, .adminUrl, .attributes."client.secret.created.timestamp", .protocolMappers)') - - # Création du client - kcadm create clients -r "$REALM" -f - <