Pular para o conteúdo principal

📝 Passo 3: Exemplos Práticos de Autenticação

📋 Substitua os Dados de Exemplo

Nos exemplos de código abaixo, substitua os seguintes valores pelos seus dados reais:

  • SEU_CLIENT_ID → Seu Client ID recebido
  • SEU_CLIENT_SECRET → Seu Client Secret recebido
  • usuario@exemplo.com → Credenciais de usuário (quando aplicável)
🌐 URLs são Exemplos - Use as URLs que Você Recebeu

As URLs mostradas nesta página são apenas exemplos ilustrativos.

Você DEVE substituir pelas URLs corretas que recebeu no e-mail da Credsystem:

  • URL do Red Hat SSO/Keycloak (ex: https://ssohml.credsystem.com.br/auth/realms/SEU_REALM/...)
  • URL do Oracle IDCS (se aplicável)
  • Realm, scope e outros parâmetros específicos da sua integração

As URLs variam conforme a parceria e ambiente (homologação/produção).


🚀 Teste Rápido com cURL

Antes de implementar no seu código, teste suas credenciais com cURL:

⚠️ Lembre-se de Substituir as URLs

As URLs abaixo são exemplos. Use as URLs reais que você recebeu no e-mail da Credsystem (realm, ambiente, scope, etc.).

Red Hat SSO (Keycloak) - Client Credentials

# Ambiente: Homologação
curl -X POST "https://ssohml.credsystem.com.br/auth/realms/exemplo123/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=SEU_CLIENT_ID" \
-d "client_secret=SEU_CLIENT_SECRET"

Oracle IDCS - Client Credentials

# Gere o Basic Auth primeiro (client_id:client_secret em Base64)
echo -n "SEU_CLIENT_ID:SEU_CLIENT_SECRET" | base64

# Use o resultado no header Authorization
curl -X POST "https://idcs-0fe1bec59571471484a8896c1a0d7a62.identity.oraclecloud.com/oauth2/v1/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic SEU_BASE64_AQUI" \
-d "grant_type=client_credentials" \
-d "scope=SEU_SCOPE"
✅ Resposta de Sucesso

Se as credenciais estiverem corretas, você receberá:

{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cC...",
"token_type": "Bearer",
"expires_in": 300
}

📚 Métodos de Autenticação

🔑 1. Red Hat SSO - Client Credentials

Quando usar: Integrações servidor-a-servidor (backend), jobs automatizados, microserviços.

Retorno: access_token, token_type, expires_in

curl -X POST "https://ssohml.credsystem.com.br/auth/realms/exemplo123/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=SEU_CLIENT_ID" \
-d "client_secret=SEU_CLIENT_SECRET"

👤 2. Red Hat SSO - Password Grant

Quando usar: Aplicações web com login de usuário, apps móveis.

Retorno: access_token, refresh_token, expires_in, refresh_expires_in, scope, session_state

curl -X POST "https://ssohml.credsystem.com.br/auth/realms/exemplo123/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password" \
-d "client_id=SEU_CLIENT_ID" \
-d "client_secret=SEU_CLIENT_SECRET" \
-d "username=usuario@exemplo.com" \
-d "password=SenhaSegura123!" \
-d "scope=openid profile email"

🔄 3. Red Hat SSO - Refresh Token

Quando usar: Renovar token expirado sem autenticar novamente.

Requer: refresh_token válido do Password Grant

Retorno: Novo access_token, refresh_token, expires_in

💡 Renove proativamente antes do token expirar ou ao receber erro 401
curl -X POST "https://ssohml.credsystem.com.br/auth/realms/exemplo123/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token" \
-d "client_id=SEU_CLIENT_ID" \
-d "client_secret=SEU_CLIENT_SECRET" \
-d "refresh_token=SEU_REFRESH_TOKEN"

🏢 4. Oracle IDCS - Client Credentials

Quando usar: Integrações servidor-a-servidor (backend), jobs automatizados, microserviços.

Requer: Basic Auth (client_id:client_secret em Base64) + scope específico da loja

Retorno: access_token, token_type, expires_in

# Exemplo para LOJA-A
curl -X POST "https://idcs-0fe1bec59571471484a8896c1a0d7a62.identity.oraclecloud.com/oauth2/v1/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic BASE64_CLIENT_ID_SECRET" \
-d "grant_type=client_credentials" \
-d "scope=LOJA-A-HML-cc3e9c9b-7d64-4ff3-a86a-1d7teste19ac13"
Gerando Basic Auth

O header Authorization: Basic deve conter client_id:client_secret em Base64:

echo -n "client_id:client_secret" | base64

🎯 Próximo Passo

Agora que você tem exemplos práticos de autenticação, veja como usar o token:

👉 Passo 4: Usando o Token nas Requisições

Ou volte para o Índice de Autenticação