- Início
- Criando uma federação OIDC
Criando uma federação OIDC
A federação de identidade via protocolo OIDC (OpenID Connect) na Magalu Cloud permite que a sua organização delegue a autenticação dos usuários para o seu Provedor de Identidade (IdP), promovendo uma experiência segura de Single Sign-On (SSO).
Sendo um protocolo ágil baseado em estruturas JSON e construído sobre o OAuth 2.0, o OIDC centraliza o controle de acesso e elimina a necessidade de novas senhas, resolvendo desafios complexos de gestão de credenciais.
Pré-requisitos
Antes de começar, certifique-se de que:
- Você possui um domínio verificado na Magalu Cloud.
- Se não, veja: Gerenciamento de Domínios.
- Você tem acesso administrativo ao seu Provedor de Identidade (IdP).
- Seu IdP suporta o padrão OpenID Connect 1.0.
- Você tem permissão para criar aplicações/clients no IdP.
- O domínio não possui outra federação (Lembre-se da regra: 1 domínio = 1 federaç ão).
1. Configurar a Aplicação no seu IdP
Para que seu IdP confie na Magalu Cloud e permita a autenticação federada, você precisa registrar a plataforma como uma aplicação (client) autorizada.
O que você vai fazer:
No painel administrativo do seu Provedor de Identidade, crie uma nova aplicação (ou client) do tipo "Web Application" ou "OpenID Connect".
Informações a serem configuradas:
Durante a criação da aplicação no IdP, você precisará fornecer:
URLs de Redirecionamento (Redirect URIs)
Configure exatamente estes valores (eles diferenciam maiúsculas de minúsculas):
- Origens Autorizadas (Allowed Origins):
https://api.magalu.cloud/federation/ - URI de Callback (Redirect URI):
https://api.magalu.cloud/federation/api/v1/authflow/oidc/callback
IMPORTANTE: Esses valores devem ser configurados EXATAMENTE como mostrado.
❌ Erros comuns que causarão falhas de redirecionamento:
- Esquecer a barra
/no final de/federation/. - Usar
http://em vez dehttps://. - Adicionar espaços extras no início ou no final.
- Usar variações do domínio (como
api.magalucloud.com).
Informações Adicionais
Dependendo do seu IdP, você pode precisar configurar:
- Nome da Aplicação:
Magalu Cloud Federation(ou um nome de sua escolha). - Tipo de Aplicação: Web Application / Server-Side App.
- Tipo de Grant (Grant Type): Authorization Code Flow.
- Escopos (Scopes) Necessários:
openid(obrigatório)email(obrigat ório)profile(recomendado — para extrair nome e foto do usuário)
Credenciais Geradas
Após criar a aplicação, o IdP irá gerar as chaves de acesso:
| Credencial | Descrição | Exemplo |
|---|---|---|
| Client ID | Identificador público da aplicação. | abc123.apps.example.com |
| Client Secret | Senha secreta da aplicação. NUNCA a compartilhe publicamente! | GOCSPX-abc123... |
- ✅ Copie e guarde ambos os valores em um local seguro.
- ✅ O Client Secret deve ser tratado como uma senha sensível. Não o salve em repositórios de código.
- ✅ Você precisará deles no próximo passo. Se perder o Client Secret, será necessário gerar um novo no painel do IdP.
Endpoints do IdP
Você também precisará obter as URLs dos endpoints OIDC do seu provedor. A maioria dos IdPs modernos expõe essas informações automaticamente via Discovery Document.
Método 1: Discovery Automático (Recomendado)
A maioria dos IdPs publica um documento de descoberta em: https://[seu-idp]/.well-known/openid-configuration
Como usar:
- Acesse essa URL no seu navegador.
- Você verá um arquivo JSON contendo todas as URLs necessárias.
- Copie os valores correspondentes aos campos exigidos no próximo passo.
Exemplo de resposta do Discovery Document:
{
"issuer": "[https://accounts.example.com](https://accounts.example.com)",
"authorization_endpoint": "[https://accounts.example.com/o/oauth2/v2/auth](https://accounts.example.com/o/oauth2/v2/auth)",
"token_endpoint": "[https://oauth2.example.com/token](https://oauth2.example.com/token)",
"userinfo_endpoint": "[https://openidconnect.example.com/v1/userinfo](https://openidconnect.example.com/v1/userinfo)",
"jwks_uri": "[https://www.example.com/oauth2/v3/certs](https://www.example.com/oauth2/v3/certs)"
}
Método 2: Consultar Documentação do IdP
Se o discovery document não estiver disponível, consulte a documentação oficial do seu IdP para localizar manualmente:
- Authorization Endpoint: Onde o usuário insere as credenciais.
- Token Endpoint: Onde a plataforma troca o código de autorização por um token.
- UserInfo Endpoint: Onde a plataforma busca os dados do perfil do usuário.
- JWKS URI: Onde estão hospedadas as chaves públicas para validação de assinaturas.
Anote todos esses valores! Você precisará deles em instantes para executar o comando de criação da federação via CLI.
2. Criar a Federação OIDC
Execute o seguinte comando, garantindo que você está no Contexto da Organização correta:
mgc iam domains federations oidc --domain-id [DOMAIN_ID] \
--name [FEDERATION_NAME] \
--scopes [SCOPES] \
--client-id [CLIENT_ID] \
--client-secret [CLIENT_SECRET] \
--authorization-endpoint [AUTHORIZATION_ENDPOINT] \
--token-endpoint [TOKEN_ENDPOINT] \
--jwks-uri [JWKS_URI] \
--userinfo-endpoint [USERINFO_ENDPOINT]
Parâmetros:
[DOMAIN_ID]: ID do domínio verificado (Obtenha viamgc iam domains list).[FEDERATION_NAME]: Nome amigável para a sua federação (ex: "IdP Matriz").[SCOPES]: Escopos fornecidos pelo IdP. Separe-os por espaço (ex:"openid email profile").[CLIENT_ID]: ID do client gerado no Passo 1.[CLIENT_SECRET]: Segredo do client gerado no Passo 1.[AUTHORIZATION_ENDPOINT]: Endpoint de autorização do seu IdP.[TOKEN_ENDPOINT]: Endpoint de troca de token do seu IdP.[JWKS_URI]: Endpoint contendo as chaves públicas do seu IdP.[USERINFO_ENDPOINT]: Endpoint para consulta de perfil do usuário.
3. Listar Federações do Domínio
Você pode listar as configurações ativas para confirmar se a federação foi criada com sucesso.
Execute o comando abaixo:
mgc iam domains federations list --domain-id [DOMAIN_ID]
4. Atualizar a Federação
Caso precise corrigir alguma URL, atualizar o Client Secret ou alterar o nome, você pode atualizar a federação existente.
Execute o comando referenciando o ID da federação:
mgc iam domains federations update --domain-id [DOMAIN_ID] --federation-id [FEDERATION_ID]
Parâmetros de atualização disponíveis:
--oidc.name--oidc.scopes--oidc.client-id--oidc.client-secret--oidc.authorization-endpoint--oidc.token-endpoint--oidc.jwks-uri
(Nota: Obtenha o [FEDERATION_ID] usando o comando de listagem do Passo 3).
5. Testar o Login Federado
Com a federação criada, é hora de validar se a integração está funcionando.
Como testar:
- Abra uma janela anônima (ou aba privada) no seu navegador.
- Acesse o painel da Magalu Cloud:
https://console.magalu.cloud - Na tela de login, digite um e-mail com o domínio federado (Ex:
joao@empresa.com.br). - Clique em Continuar.
O que deve acontecer:
✅ Fluxo de sucesso:
- O sistema detecta que o domínio do e-mail possui uma federação ativa.
- Você é redirecionado para a tela de login do seu provedor corporativo (IdP).
- Após autenticar-se no IdP, ele confirma sua identidade.
- Você é redirecionado de volta para a Magalu Cloud e o acesso é concedido.
Sobre o Primeiro Login do Usuário
O sistema utiliza um modelo de provisionamento Just-In-Time (JIT). No primeiro login federado de um colaborador:
- A Magalu Cloud cria automaticamente a conta dele no Contexto/Organização, baseada nas informações do IdP.
- Não é necessário cadastro prévio manual.
- Nos acessos subsequentes, o usuário é reconhecido e logado instantaneamente.