> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de SSO com OIDC

> Configure Single Sign-On com um provedor de identidade OpenID Connect genérico

Se sua organização utiliza um provedor de identidade OpenID Connect (OIDC) diferente do Microsoft Entra ID ou Okta (por exemplo, Ping Identity, OneLogin, Keycloak, Auth0 ou outro IdP compatível com OIDC), você pode configurar SSO para o Devin Enterprise usando uma conexão OIDC genérica.

<Note>
  Este guia é para clientes cujo provedor de identidade **não** é um dos provedores com suporte nativo pelas integrações [Microsoft Entra ID (OIDC)](/pt-BR/enterprise/security-access/sso/azure) ou [Okta (OIDC)](/pt-BR/enterprise/security-access/sso/okta). Se o seu IdP for Microsoft Entra ID ou Okta, recomendamos usar a integração nativa, pois ela oferece uma experiência de configuração mais simples e direta.
</Note>

<div id="what-youll-need">
  ## O que você vai precisar
</div>

As seguintes informações são necessárias para configurar o SSO OIDC para o Devin. Você irá coletá-las durante as etapas de configuração abaixo e enviá-las para a sua equipe de contas da Cognition na etapa final.

* **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`; adicione `groups` se estiver usando grupos do IdP)

<div id="setup-instructions">
  ## Instruções de configuração
</div>

<div id="step-1-register-an-application-in-your-idp">
  ### Etapa 1: Registrar um aplicativo no seu IdP
</div>

No console de administração do seu provedor de identidade (IdP), crie um novo aplicativo OIDC / OAuth 2.0 (às vezes chamado de "Aplicativo Web" ou "Cliente Confidencial") com as seguintes configurações:

| 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)                   |

Após criar o aplicativo, anote o **Client ID** e o **Client Secret** fornecidos pelo seu IdP.

<div id="step-2-locate-your-discovery-url">
  ### Etapa 2: Localize sua Discovery URL
</div>

A maioria dos provedores de identidade compatíveis com OIDC publica um documento de OpenID Connect Discovery. Essa URL permite que Devin recupere automaticamente os endpoints de autorização, token e userinfo do seu IdP.

A Discovery URL normalmente segue este padrão:

```
https://<your-idp-domain>/.well-known/openid-configuration
```

<Note>
  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`

  Você pode verificar se a URL está correta abrindo-a em um navegador — ela deve retornar um documento JSON contendo campos como `authorization_endpoint`, `token_endpoint` e `issuer`.
</Note>

<div id="step-3-configure-scopes">
  ### Etapa 3: Configurar escopos
</div>

Os escopos OIDC controlam quais informações de usuário o Devin recebe durante a autenticação. No mínimo, solicite os seguintes 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 |

Sua string de escopos deve ser: `openid profile email` (ou `openid profile email groups` se estiver usando grupos do IdP).

<Note>
  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.
</Note>

<div id="step-4-configure-group-claims-required-for-idp-groups">
  ### Etapa 4: Configurar declarações de grupo (obrigatório para grupos do IdP)
</div>

<Warning>
  Se você quiser usar a [Integração com grupos do IdP](/pt-BR/enterprise/security-access/idp-groups) para controle de acesso baseado em função no Devin, você **deve** configurar seu IdP para incluir a associação a grupos no ID token ou na resposta de userinfo. Sem isso, os usuários conseguirão se autenticar, mas os grupos do IdP não serão sincronizados.
</Warning>

Para habilitar a sincronização de grupos do IdP:

1. No seu IdP, certifique-se de que o escopo `groups` esteja disponível para o aplicativo
2. Configure seu IdP para incluir uma declaração `groups` no ID token ou na resposta de userinfo

<Note>
  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.
</Note>

<div id="step-5-send-configuration-to-cognition">
  ### Etapa 5: Enviar a configuração para a Cognition
</div>

Envie o seguinte para a equipe responsável pela sua conta na Cognition:

1. **Discovery URL** (por exemplo, `https://idp.example.com/.well-known/openid-configuration`)
2. **Client ID**
3. **Client Secret**
4. **Identity Provider Domains** (todos os domínios de e-mail deste IdP)
5. **Scopes** (por exemplo, `openid profile email groups`)

A equipe responsável pela sua conta na Cognition configurará a conexão OIDC para que os grupos do IdP sejam sincronizados automaticamente a cada login de usuário.

<div id="verifying-your-setup">
  ## Verificando sua configuração
</div>

Depois que a equipe de conta da Cognition confirmar que a configuração está concluída:

1. Acesse a URL do seu Devin Enterprise (por exemplo, `https://<your_subdomain>.devinenterprise.com`)
2. Clique em **Sign in with OIDC** (ou no botão de SSO equivalente) para iniciar o fluxo de login
3. Você deve ser redirecionado para a página de login do seu IdP
4. Após a autenticação, você deve ser direcionado à sua organização do Devin Enterprise

Para verificar se os grupos do IdP estão funcionando:

1. Vá em **Settings** > **IdP Groups** no aplicativo web do Devin
2. Você deve ver seus grupos do IdP listados depois que pelo menos um membro de algum grupo tiver feito login
3. 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

<Note>
  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](/pt-BR/enterprise/security-access/idp-groups) para mais detalhes sobre como configurar o controle de acesso baseado em grupos.
</Note>
