Este guia é para clientes cujo provedor de identidade não é um dos provedores com suporte nativo pelas integrações Azure AD (OIDC) ou Okta (OIDC). Se o seu IdP for Azure AD ou Okta, recomendamos usar a integração nativa, pois ela oferece uma experiência de configuração mais simples e direta.
O que você vai precisar
- Discovery URL - O endpoint de discovery OIDC do seu IdP (por exemplo,
https://idp.example.com/.well-known/openid-configuration) - Client ID - O Client ID do aplicativo fornecido pelo seu IdP
- Client Secret - O Client Secret do aplicativo fornecido pelo seu IdP
- Identity Provider Domains - Todos os domínios de e-mail da empresa que se autenticarão por meio desse IdP (por exemplo,
example.com,subsidiary.example.com) - Scopes - Os scopes OIDC a serem solicitados (normalmente
openid profile email; adicionegroupsse estiver usando grupos do IdP)
Instruções de configuração
Etapa 1: Registrar um aplicativo no seu IdP
| Configuração | Valor |
|---|---|
| Application Type | Web Application / Confidential Client |
| Sign-in Redirect URI (Callback URL) | https://auth.devin.ai/login/callback |
| Sign-out Redirect URI | Deixe em branco |
| Grant Type | Authorization Code |
| Token Endpoint Authentication | Client Secret (POST) |
Etapa 2: Localize sua Discovery URL
Formatos comuns de URL de descoberta por provedor:
- Keycloak:
https://<host>/realms/<realm>/.well-known/openid-configuration - Ping Identity:
https://<host>/<tenant-id>/as/.well-known/openid-configuration - OneLogin:
https://<subdomain>.onelogin.com/oidc/2/.well-known/openid-configuration - Auth0:
https://<domain>/.well-known/openid-configuration - Google Workspace:
https://accounts.google.com/.well-known/openid-configuration
authorization_endpoint, token_endpoint e issuer.Etapa 3: Configurar escopos
| Escopo | Finalidade | Obrigatório |
|---|---|---|
openid | Necessário para todos os fluxos OIDC | Sim |
profile | Retorna o nome de exibição do usuário | Sim |
email | Retorna o endereço de e-mail do usuário | Sim |
groups | Retorna as associações de grupos do usuário (para grupos do IdP) | Somente se estiver usando grupos do IdP |
openid profile email (ou openid profile email groups se estiver usando grupos do IdP).
Alguns IdPs usam um nome de escopo diferente para declarações de grupos (group claims) (por exemplo,
roles ou um escopo personalizado). Consulte a documentação do seu IdP para encontrar o nome de escopo correto que retorna as informações de associação a grupos.Etapa 4: Configurar declarações de grupo (obrigatório para grupos do IdP)
- No seu IdP, certifique-se de que o escopo
groupsesteja disponível para o aplicativo - Configure seu IdP para incluir uma declaração
groupsno ID token ou na resposta de userinfo
Se o seu IdP não incluir declarações de grupo por padrão, talvez seja necessário criar um escopo personalizado ou configurar uma política de mapeamento de declarações. Consulte a documentação do seu IdP para obter instruções sobre como adicionar declarações de grupo a tokens OIDC.
Etapa 5: Enviar a configuração para a Cognition
- Discovery URL (por exemplo,
https://idp.example.com/.well-known/openid-configuration) - Client ID
- Client Secret
- Identity Provider Domains (todos os domínios de e-mail deste IdP)
- Scopes (por exemplo,
openid profile email groups)
Verificando sua configuração
- Acesse a URL do seu Devin Enterprise (por exemplo,
https://<your_subdomain>.devinenterprise.com) - Clique em Sign in with OIDC (ou no botão de SSO equivalente) para iniciar o fluxo de login
- Você deve ser redirecionado para a página de login do seu IdP
- Após a autenticação, você deve ser direcionado à sua organização do Devin Enterprise
- Vá em Settings > IdP Groups no aplicativo web do Devin
- Você deve ver seus grupos do IdP listados depois que pelo menos um membro de algum grupo tiver feito login
- Os grupos são sincronizados a cada login, portanto quaisquer alterações de associação no seu IdP entrarão em vigor na próxima vez que um usuário fizer login
Os grupos do IdP são obtidos no login do usuário, portanto, alterações na associação de grupos exigirão uma nova autenticação. Consulte IdP Group Integration para mais detalhes sobre como configurar o controle de acesso baseado em grupos.
