194 lines
6.3 KiB
Bash
Executable file
194 lines
6.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Script para configurar domínios, organizações e usuários no Zitadel via API
|
|
# Uso: ./setup_zitadel.sh <PAT_TOKEN>
|
|
|
|
PAT_TOKEN=$1
|
|
INSTANCE_ID="367250249682552560"
|
|
BASE_URL="http://10.157.134.240:8080"
|
|
|
|
if [ -z "$PAT_TOKEN" ]; then
|
|
echo "ERRO: É necessário fornecer um PAT token válido"
|
|
echo "Uso: $0 <PAT_TOKEN>"
|
|
echo ""
|
|
echo "Para obter um PAT token, acesse:"
|
|
echo "https://login.pragmatismo.com.br/ui/console"
|
|
echo "Login: admin / Admin123!"
|
|
echo "Depois vá em Profile -> Personal Access Tokens -> New"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== Configuração do Zitadel via API ==="
|
|
echo ""
|
|
|
|
# 1. Adicionar domínios à instância
|
|
echo "1. Adicionando domínios à instância..."
|
|
|
|
echo " a) Adicionando domínio pragmatismo.com.br..."
|
|
curl -s -X PUT "$BASE_URL/management/v1/instances/$INSTANCE_ID/domains/pragmatismo.com.br" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"isVerified": true,
|
|
"isPrimary": true,
|
|
"generator": false
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
echo " b) Adicionando domínio salesianos.br..."
|
|
curl -s -X PUT "$BASE_URL/management/v1/instances/$INSTANCE_ID/domains/salesianos.br" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"isVerified": true,
|
|
"isPrimary": false,
|
|
"generator": false
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
|
|
# 2. Criar organização Pragmatismo
|
|
echo "2. Criando organização Pragmatismo..."
|
|
PRAGMATISMO_ORG_RESPONSE=$(curl -s -X POST "$BASE_URL/management/v1/orgs" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "Pragmatismo"
|
|
}')
|
|
|
|
echo "$PRAGMATISMO_ORG_RESPONSE" | python3 -m json.tool
|
|
PRAGMATISMO_ORG_ID=$(echo "$PRAGMATISMO_ORG_RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['id'])")
|
|
echo " Org ID: $PRAGMATISMO_ORG_ID"
|
|
|
|
echo ""
|
|
|
|
# 3. Adicionar domínio pragmatismo.com.br à organização Pragmatismo
|
|
echo "3. Adicionando domínio pragmatismo.com.br à organização Pragmatismo..."
|
|
curl -s -X POST "$BASE_URL/management/v1/orgs/$PRAGMATISMO_ORG_ID/domains" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"domain": "pragmatismo.com.br",
|
|
"isVerified": true,
|
|
"isPrimary": true
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
|
|
# 4. Criar organização Salesianos
|
|
echo "4. Criando organização Salesianos..."
|
|
SALESIANOS_ORG_RESPONSE=$(curl -s -X POST "$BASE_URL/management/v1/orgs" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"name": "Salesianos"
|
|
}')
|
|
|
|
echo "$SALESIANOS_ORG_RESPONSE" | python3 -m json.tool
|
|
SALESIANOS_ORG_ID=$(echo "$SALESIANOS_ORG_RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['id'])")
|
|
echo " Org ID: $SALESIANOS_ORG_ID"
|
|
|
|
echo ""
|
|
|
|
# 5. Adicionar domínio salesianos.br à organização Salesianos
|
|
echo "5. Adicionando domínio salesianos.br à organização Salesianos..."
|
|
curl -s -X POST "$BASE_URL/management/v1/orgs/$SALESIANOS_ORG_ID/domains" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"domain": "salesianos.br",
|
|
"isVerified": true,
|
|
"isPrimary": true
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
|
|
# 6. Criar usuário rodriguez@pragmatismo.com.br
|
|
echo "6. Criando usuário rodriguez@pragmatismo.com.br..."
|
|
RODRIGUEZ_USER_RESPONSE=$(curl -s -X POST "$BASE_URL/management/v1/users" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"userName": "rodriguez",
|
|
"email": "rodriguez@pragmatismo.com.br",
|
|
"profile": {
|
|
"firstName": "Rodriguez",
|
|
"lastName": "Pragmatismo"
|
|
},
|
|
"isEmailVerified": true,
|
|
"password": "imago10$",
|
|
"passwordChangeRequired": false
|
|
}')
|
|
|
|
echo "$RODRIGUEZ_USER_RESPONSE" | python3 -m json.tool
|
|
RODRIGUEZ_USER_ID=$(echo "$RODRIGUEZ_USER_RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['userId'])")
|
|
echo " User ID: $RODRIGUEZ_USER_ID"
|
|
|
|
echo ""
|
|
|
|
# 7. Adicionar rodriguez à organização Pragmatismo com roles
|
|
echo "7. Adicionando rodriguez à organização Pragmatismo com roles..."
|
|
curl -s -X POST "$BASE_URL/management/v1/orgs/$PRAGMATISMO_ORG_ID/members/$RODRIGUEZ_USER_ID" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"roles": ["ORG_OWNER"]
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
|
|
# 8. Criar usuário marcelo.alves@salesianos.br
|
|
echo "8. Criando usuário marcelo.alves@salesianos.br..."
|
|
MARCELO_USER_RESPONSE=$(curl -s -X POST "$BASE_URL/management/v1/users" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"userName": "marcelo.alves",
|
|
"email": "marcelo.alves@salesianos.br",
|
|
"profile": {
|
|
"firstName": "Marcelo",
|
|
"lastName": "Alves"
|
|
},
|
|
"isEmailVerified": true,
|
|
"password": "imago10$",
|
|
"passwordChangeRequired": false
|
|
}')
|
|
|
|
echo "$MARCELO_USER_RESPONSE" | python3 -m json.tool
|
|
MARCELO_USER_ID=$(echo "$MARCELO_USER_RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['userId'])")
|
|
echo " User ID: $MARCELO_USER_ID"
|
|
|
|
echo ""
|
|
|
|
# 9. Adicionar marcelo à organização Salesianos com roles
|
|
echo "9. Adicionando marcelo à organização Salesianos com roles..."
|
|
curl -s -X POST "$BASE_URL/management/v1/orgs/$SALESIANOS_ORG_ID/members/$MARCELO_USER_ID" \
|
|
-H "Authorization: Bearer $PAT_TOKEN" \
|
|
-H "Host: 10.157.134.240" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"roles": ["ORG_OWNER"]
|
|
}' | python3 -m json.tool
|
|
|
|
echo ""
|
|
echo "=== Configuração concluída! ==="
|
|
echo ""
|
|
echo "Resumo:"
|
|
echo "- Domínios adicionados: pragmatismo.com.br, salesianos.br"
|
|
echo "- Organização Pragmatismo criada (ID: $PRAGMATISMO_ORG_ID)"
|
|
echo "- Organização Salesianos criada (ID: $SALESIANOS_ORG_ID)"
|
|
echo "- Usuário rodriguez@pragmatismo.com.br criado (ID: $RODRIGUEZ_USER_ID)"
|
|
echo "- Usuário marcelo.alves@salesianos.br criado (ID: $MARCELO_USER_ID)"
|
|
echo ""
|
|
echo "Senha para ambos os usuários: imago10$"
|
|
echo ""
|
|
echo "Para fazer login, acesse: https://login.pragmatismo.com.br/ui/console"
|