> ## 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 e SCIM

> Configure o Single Sign-On (SSO) e o provisionamento SCIM para sua organização usando o Google Workspace, o Microsoft Entra ID, o Okta ou outros provedores de identidade SAML.

<Note>Este recurso está disponível apenas para usuários do Enterprise.</Note>

<Note>Este recurso não se aplica aos planos do Cognition Platform. No Cognition Platform, o SSO deve ser configurado e gerenciado nas configurações da plataforma.</Note>

<Tabs>
  <Tab title="SSO do Google">
    O Devin Desktop agora oferece suporte a login com Single Sign-On (SSO) via SAML. Se a sua organização usa Microsoft Entra, Okta, Google Workspaces ou outro provedor de identidade compatível com SAML, você poderá usar SSO com o Devin Desktop.

    <Note>O Devin Desktop oferece suporte apenas a SSO iniciado por SP; SSO iniciado por IDP NÃO é compatível no momento.</Note>

    ### Configurar o aplicativo do IDP

    No console de administração do Google (admin.google.com), clique em **Apps -> Web and mobile apps** no menu à esquerda.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7810e96dc693e041669155ed802dadda" width="530" height="788" data-path="desktop/assets/auth/sso-google.png" />
    </Frame>

    Clique em **Add app** e, em seguida, em **Add custom SAML app**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1b16524d7a4910a763158a7b1640261c" width="514" height="534" data-path="desktop/assets/auth/sso-google2.png" />
    </Frame>

    Preencha **App name** com `Windsurf` e clique em **Next**.

    A próxima tela (**Google Identity Provider details**) no console do Google contém os dados que você precisará copiar para as Configurações de SSO do Devin Desktop em [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    * Copie **SSO URL** do console do Google para **SSO URL** nas Configurações do Devin Desktop
    * Copie **Entity ID** do console do Google para **Idp Entity ID** nas Configurações do Devin Desktop
    * Copie **Certificate** do console do Google para **X509 Certificate** nas Configurações do Devin Desktop
    * Clique em **Continue** no console do Google

    A próxima tela no console do Google exige que você copie dados da página de Configurações do Codeium

    * Copie **Callback URL** da página de Configurações do Codeium para **ACS URL** no console do Google
    * Copie **SP Entity ID** da página de Configurações do Codeium para **SP Entity ID** no console do Google
    * Altere o formato de **Name ID** para **EMAIL**
    * Clique em **Continue** no console do Google

    A próxima tela no console do Google exige algumas configurações

    * Clique em **Add Mapping**, selecione **First name** e defina **App attributes** como **firstName**
    * Clique em **Add Mapping**, selecione **Last name** e defina **App attributes** como **lastName**
    * Clique em **Finish**

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=302216735a61b852fe856bdf08662546" width="2078" height="862" data-path="desktop/assets/auth/sso-google3.png" />
    </Frame>

    Na página de Configurações do Codeium, clique em **Enable Login with SAML** e depois em **Save**. Não deixe de clicar em **Test Login** para garantir que o login funcione como esperado. A partir de agora, o login via SSO será obrigatório para todos os usuários.
  </Tab>

  <Tab title="Microsoft Entra ID">
    O Devin Desktop Enterprise agora oferece suporte a login com Single Sign-On (SSO) via SAML. Se a sua organização usa o Microsoft Entra ID (antigo Azure AD), você poderá usar SSO com o Devin Desktop.

    <Note>O Devin Desktop oferece suporte apenas a SSO iniciado por SP; no momento, SSO iniciado por IDP NÃO é compatível.</Note>

    ## Parte 1: Criar um aplicativo Enterprise no Microsoft Entra ID

    <Note>Todas as etapas desta seção são realizadas no **centro de administração do Microsoft Entra ID**.</Note>

    1. No Microsoft Entra ID, clique em **Adicionar** e, em seguida, em **Aplicativo Enterprise**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6d420c5134b4cfe78b0eb4ea8c63102d" width="854" height="384" data-path="desktop/assets/auth/sso-azure.png" />
    </Frame>

    2. Clique em **Criar seu próprio aplicativo**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=0d65488fc58dddef5132e2302786d97b" width="680" height="202" data-path="desktop/assets/auth/sso-azure2.png" />
    </Frame>

    3. Dê ao aplicativo o nome **Devin Desktop**, selecione *Integrar qualquer outro aplicativo que você não encontrar na galeria* e, em seguida, clique em **Criar**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e8f849cd706fba53560dd24b8c7db2f8" width="968" height="342" data-path="desktop/assets/auth/sso-azure3.png" />
    </Frame>

    ## Parte 2: Configurar SAML e os atributos do usuário no Microsoft Entra ID

    <Note>Todas as etapas desta seção são realizadas no **centro de administração do Microsoft Entra ID**.</Note>

    4. No seu novo aplicativo Devin Desktop, clique em **Configurar logon único** e depois em **SAML**.

    5. Clique em **Editar** em **Configuração básica de SAML**.

    6. **Mantenha esta aba do Entra ID aberta** e abra uma nova aba para acessar as **Configurações de SSO do Teams do Devin Desktop** em [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    7. No formulário de configuração SAML do **Microsoft Entra ID**:
       * **Identificador (ID da Entidade)**: copie o valor de **SP Entity ID** da **página de configurações de SSO do Devin Desktop**
       * **URL de Resposta (URL do Serviço do Consumidor de Asserção)**: copie o valor de **Callback URL** da **página de configurações de SSO do Devin Desktop**
       * Clique em **Salvar** na parte superior

    8. Configure os atributos do usuário para exibir o nome corretamente. No **Microsoft Entra ID**, em **Atributos e claims**, clique em **Editar**.

    9. Crie 2 novas claims clicando em **Adicionar nova claim** para cada uma:
       * **Primeira claim**: Name = `firstName`, Source attribute = `user.givenname`
       * **Segunda claim**: Name = `lastName`, Source attribute = `user.surname`

    ## Parte 3: Configurar as Configurações de SSO no portal do Devin Desktop

    <Note>Conclua a configuração no **portal do Devin Desktop** ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)).</Note>

    10. Na **página de configurações de SSO do Devin Desktop**:
        * **Escolha seu ID de SSO**: escolha um identificador exclusivo para o portal de login da sua equipe (isso não poderá ser alterado depois)
        * **ID da Entidade do IdP**: copie o valor do **Microsoft Entra ID** em **Configurar o Devin Desktop** → **Identificador do Microsoft Entra**
          <Note>A URL do ID da Entidade do IdP deve terminar com uma `/` no final (por exemplo, `https://sts.windows.net/{tenant-id}/`). Se a URL não incluir a barra final, adicione-a manualmente.</Note>
        * **URL de SSO**: copie o valor de **Login URL** do **Microsoft Entra ID**
        * **Certificado X509**: baixe o **certificado SAML (Base64)** do **Microsoft Entra ID**, abra o arquivo e cole aqui o conteúdo do texto

    11. No **portal do Devin Desktop**, clique em **Ativar login com SAML** e depois em **Salvar**.

    12. **Teste a configuração**: clique em **Testar login** para verificar se a configuração de SSO funciona como esperado.

    <Note>**Importante**: Não saia nem feche a página de configurações do Devin Desktop até testar o login com sucesso. Se o teste falhar, talvez seja necessário solucionar o problema da configuração antes de prosseguir.</Note>
  </Tab>

  <Tab title="SSO da Okta">
    O Devin Desktop Enterprise agora oferece suporte a login com Single Sign-On (SSO) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspaces ou outro provedor de identidade compatível com SAML, você poderá usar SSO com Devin Desktop.

    <Note>O Devin Desktop oferece suporte apenas a SSO iniciado por IdP; SSO iniciado por IDP NÃO é compatível no momento.</Note>

    ### Configurar o aplicativo do IDP

    Clique em Applications na barra lateral esquerda e, em seguida, em Create App Integration

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6eb8809b268cee036ff026efbf3d2a8b" width="1248" height="962" data-path="desktop/assets/auth/sso-okta1.png" />
    </Frame>

    Selecione SAML 2.0 como método de login

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8ac307ec0fa12222044fe6bffd8815ff" width="1600" height="1023" data-path="desktop/assets/auth/sso-okta2.png" />
    </Frame>

    Defina o nome do app como Devin Desktop (ou qualquer outro nome) e clique em Next

    Configure as definições de SAML da seguinte forma

    * Single sign-on URL como [https://auth.windsurf.com/\&#95;\&#95;/auth/handler](https://auth.windsurf.com/\&#95;\&#95;/auth/handler)
    * Audience URI (SP Entity ID) como [www.codeium.com](http://www.codeium.com)
    * Formato de NameID como EmailAddress
    * Nome de usuário do aplicativo como Email

    Configure as instruções de atributo da seguinte forma e, em seguida, clique em **Next**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2a8c2ee27d3b989fd3f888178c3fa290" width="1398" height="602" data-path="desktop/assets/auth/sso-okta3.png" />
    </Frame>

    Na seção de feedback, selecione “This is an internal app that we have created” e clique em **Finish**.

    ### Registrar o Okta como provedor SAML

    Você deverá ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, pegue as informações dessa página e preencha as configurações de SSO do Devin Desktop.

    * Abra [https://windsurf.com/team/settings](https://windsurf.com/team/settings) e clique em Configure SAML
    * Copie o texto após ‘Issuer’ na página do aplicativo do Okta e cole em Idp Entity ID
    * Copie o texto após ‘Sign on URL’ na página do aplicativo do Okta e cole em SSO URL
    * Baixe o Signing Certificate e cole em X509 certificate
    * Marque Enable Login with SAML e clique em Save
    * Teste o login com o botão Test Login. Você deverá ver uma mensagem de sucesso:

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2ef70eafed0d4ba96ce4a8edd3fee22e" width="1046" height="270" data-path="desktop/assets/auth/sso-okta4.png" />
    </Frame>

    Neste ponto, tudo já deve estar configurado, e agora você pode adicionar usuários ao novo aplicativo Okta do Devin Desktop.

    Você deve compartilhar a URL personalizada do Portal de Login da sua organização com seus usuários e pedir que façam login por esse link.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=b5fda36a5d2c90e95351ec8718da43e7" width="988" height="312" data-path="desktop/assets/auth/sso-okta5.png" />
    </Frame>

    Os usuários que fizerem login no Devin Desktop via SSO serão aprovados automaticamente na equipe.

    ### Observações

    Observe que o Devin Desktop não oferece suporte no momento a fluxos de login iniciados por IdP.

    Também ainda não oferecemos suporte a OIDC.

    # Solução de problemas

    ### Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=08b82467d671872b5aec9ea7ec5e9894" width="617" height="92" data-path="desktop/assets/auth/sso-okta6.png" />
    </Frame>

    Isso indica um ID de SSO inválido ou uma URL de SSO incorreta. Verifique se ele é alfanumérico e não contém espaços extras nem caracteres inválidos. Revise as etapas do guia novamente e certifique-se de usar os valores corretos.

    ### Login with SAML config failed: Firebase: SAML Response \<Issuer> mismatch. (auth/invalid-credential)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7c2bd2cdffd3a61145313cb209572ae5" width="752" height="117" data-path="desktop/assets/auth/sso-okta7.png" />
    </Frame>

    Isso indica que o ID da entidade do seu IdP é inválido. Certifique-se de copiá-lo corretamente do portal do Okta, sem caracteres ou espaços extras antes ou depois da string.

    ### Failed to verify the signature in samlresponse

    Isso indica um valor incorreto no seu certificado X509. Certifique-se de copiar a chave correta e de que ela esteja formatada da seguinte forma:

    ```
    -----BEGIN CERTIFICATE-----
    value
    ------END CERTIFICATE------
    ```
  </Tab>

  <Tab title="SCIM do Microsoft Entra ID">
    O Devin Desktop oferece suporte à sincronização SCIM para usuários e grupos com Microsoft Entra ID. Não é necessário configurar o SSO para usar a sincronização SCIM, mas é altamente recomendável.

    Você vai precisar de:

    * Acesso administrativo ao Microsoft Entra ID
    * Acesso de administrador ao Devin Desktop
    * Um aplicativo de desktop existente do Devin no Entra ID (normalmente do seu aplicativo de SSO existente)

    <Note>
      **Permissões necessárias da chave de serviço**

      A chave de serviço usada para o provisionamento SCIM deve ter as seguintes permissões:

      * **Team User Read** - Necessária para ler informações de usuários e grupos
      * **Team User Update** - Necessária para criar e atualizar usuários e grupos
      * **Team User Delete** - Necessária para desativar/excluir usuários e grupos

      Você pode criar uma função personalizada com essas permissões ou usar uma função de administrador existente que as inclua.
    </Note>

    ## Etapa 1: Criar uma função com permissões SCIM

    Antes de configurar o provisionamento SCIM, você precisa criar uma função com as permissões necessárias.

    1. Acesse [Configurações da equipe do Windsurf](https://windsurf.com/team/settings)
    2. Em "Outras configurações", clique em **Configurar** ao lado de **Gerenciamento de funções**
    3. Clique em **Adicionar função** e dê a ela o nome de "SCIM Provisioning"
    4. Adicione as permissões a seguir:
       * Visualização de usuário da equipe
       * Atualização de usuário da equipe
       * Exclusão de usuário da equipe
    5. Clique em **Salvar**

    ## Etapa 2: Acesse o aplicativo existente do Devin Desktop

    Acesse o Microsoft Entra ID no Azure, clique em Enterprise applications na barra lateral esquerda e, em seguida, clique no aplicativo Devin Desktop existente na lista.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=fb5751e72abe48cf1b3538e5a44bdefb" width="1258" height="664" data-path="desktop/assets/auth/scim-azure.png" />
    </Frame>

    ## Etapa 3: Configurar o provisionamento SCIM

    Clique em Get started em Provision User Accounts no meio (etapa 3) e clique em Get started novamente.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ca6c92bd1b8c613abed615592ae3d2fe" width="2582" height="1858" data-path="desktop/assets/auth/scim-azure2.png" />
    </Frame>

    Na página de configuração de provisionamento, selecione as opções a seguir.

    Modo de provisionamento:  Automático

    Credenciais de Admin > URL do tenant: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure-admin-credentials.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=96e23cf9346819cc6ffd82cdbf5b6258" width="560" height="416" data-path="desktop/assets/auth/scim-azure-admin-credentials.png" />
    </Frame>

    Deixe a página de provisionamento do Azure aberta, acesse o portal web do Devin Desktop e clique no ícone de perfil na NavBar no topo da página. Em Configurações da equipe, selecione Service Key e clique em Add Service Key. Insira um nome para a chave (como 'Azure SCIM Provisioning'), **selecione a função "SCIM Provisioning" criada anteriormente** e clique em Create Service Key. Copie a chave gerada, volte à página do Azure e cole-a no campo Secret Token.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=a52f8263be88f02ff8aff6e13024d4eb" width="1612" height="1013" data-path="desktop/assets/auth/scim-azure3.png" />
    </Frame>

    (O que você deve ver após criar a chave no Devin Desktop)

    Na página de Provisionamento, clique em Test Connection para verificar a conexão SCIM.

    Agora, acima do formulário de provisionamento, clique em Save.

    ## Etapa 4: Configurar o Provisionamento SCIM

    Após clicar em Save, uma nova opção Mappings deve ter aparecido na página de Provisioning. Expanda Mappings e clique em Provision Microsoft Entra ID Users

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=24e984597151c2f9cbb27f1a1718ca8a" width="666" height="438" data-path="desktop/assets/auth/scim-azure4.png" />
    </Frame>

    Em Mappings de atributos, exclua todos os campos em displayName, mantendo apenas os campos userName, active e displayName.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1dc3ac7839403c2ce6cb6d93ff51fc65" width="1260" height="190" data-path="desktop/assets/auth/scim-azure5.png" />
    </Frame>

    Para active, clique em Edit. Em Expression, modifique o campo para

    ```
    NOT([IsSoftDeleted])
    ```

    Em seguida, clique em Ok.

    Os atributos do seu usuário devem ser parecidos com

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1e2db093b70de25fc98a9ffec9a924a6" width="2826" height="490" data-path="desktop/assets/auth/scim-azure6.png" />
    </Frame>

    Na página Attribute Mapping, clique em Save na parte superior e volte para a página de Provisionamento.

    Agora, na mesma página, em Mappings, clique em Provision Microsoft Entra ID Groups. Em seguida, clique em delete somente para externalId e clique em Save na parte superior. Volte para a página Provisioning.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8022adf3c12a09dbc8f58177c6e4e3bf" width="1258" height="203" data-path="desktop/assets/auth/scim-azure7.png" />
    </Frame>

    Na página de Provisionamento, na parte inferior, também deve haver um controle de Status de Provisionamento. Defina-o como Ativado para ativar a sincronização SCIM. A partir daí, a cada 40 minutos, os usuários e grupos do aplicativo Entra ID serão sincronizados com o Devin Desktop.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure8.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ab5ad845885e6f3e3b915f0112e58eaf" width="686" height="306" data-path="desktop/assets/auth/scim-azure8.png" />
    </Frame>

    Clique em Save para concluir. A sincronização de usuários e grupos via SCIM está agora ativada. Somente usuários e grupos atribuídos ao aplicativo serão sincronizados com o Devin Desktop. Observe que a remoção de usuários apenas desativa o acesso deles ao Devin Desktop (e impede que ocupem uma licença), sem excluí-los, devido ao design do SCIM do Azure.
  </Tab>

  <Tab title="Okta SCIM">
    O Devin Desktop oferece suporte à sincronização SCIM de usuários e grupos com o Okta. Não é necessário configurar o SSO para usar a sincronização SCIM, mas isso é altamente recomendado.

    Você vai precisar de:

    * Acesso de administrador ao Okta
    * Acesso de administrador ao Devin Desktop
    * Um app existente do Devin Desktop no Okta (normalmente o seu app de SSO existente)

    ## Etapa 1: Navegue até o app existente do Devin Desktop

    Acesse o Okta, clique em Applications, depois em Applications na barra lateral esquerda e, em seguida, clique no app existente do Devin Desktop na lista de aplicativos.

    ## Etapa 2: Ativar o provisionamento SCIM

    Na aba general, em App Settings, clique em Edit no canto superior direito. Em seguida, marque a caixa de seleção 'Enable SCIM Provisioning' e clique em Save. Uma nova aba de provisionamento deverá aparecer na parte superior.

    Agora vá para provisioning, clique em Edit e preencha os seguintes campos:

    SCIM connector base URL: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    Unique identifier field for users: email

    Supported provisioning actions: Push New Users, Push Profile Updates, Push Groups

    Authentication Mode: HTTP Header

    Em HTTP Header - Authorization, você pode gerar o token em:

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings) e ir até Service Key Configuration
    * Clique em Configure, depois em Add Service Key, e dê um nome à sua Chave de API
    * Copie a Chave de API, volte para o Okta e cole em HTTP Header - Authorization

    Clique em Save após preencher Provisioning Integration.

    ## Etapa 3: Configurar o provisionamento

    Na aba provisioning, à esquerda, devem aparecer duas novas abas. Clique em To App e depois em Edit Provisioning to App. Marque as caixas de seleção Create Users, Update User Attributes e Deactivate Users e clique em Save.

    Após esta etapa, todos os usuários atribuídos ao grupo passarão a ser sincronizados com o Devin Desktop.

    ## Etapa 4: Configurar o provisionamento de grupos (Opcional)

    Para sincronizar grupos com o Devin Desktop, você precisará especificar quais grupos enviar. No aplicativo, clique na aba Push Groups na parte superior. Em seguida, clique em + Push Groups -> Find Groups by name. Filtre o grupo que você deseja adicionar, verifique se Push group memberships immediately está marcado e clique em Save. O grupo será criado, e os membros do grupo serão sincronizados com o Devin Desktop. Depois, os grupos poderão ser usados para filtrar análises de grupo na página de análises.
  </Tab>

  <Tab title="API SCIM">
    Este guia mostra como criar e gerenciar grupos no Devin Desktop usando a API SCIM.

    Em alguns casos, pode ser necessário provisionar grupos manualmente em vez de usar um Provedor de Identidade (Azure/Okta). As empresas podem querer provisionar grupos a partir de uma fonte interna diferente (site de RH, ferramenta de gerenciamento de código-fonte etc.) à qual o Devin Desktop não tem acesso, ou podem precisar de um controle mais granular sobre os grupos do que o oferecido pelo seu Provedor de Identidade. Nesses casos, os grupos podem ser criados via API por meio de uma requisição HTTP. A seguir, são apresentados exemplos de requisição HTTP via CURL.

    Existem 5 APIs principais aqui: Create Group, Add group members, Replace group members, Delete Group e List Users in a Group.

    ### Criar Grupo

    ```
    curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
    "displayName": "<group name>",
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
    }' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Adicionar Membros ao Grupo

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "add",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Substituir Membros do Grupo

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "replace",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Excluir Grupo

    ```
    curl -X DELETE https://server.codeium.com/scim/v2/Groups/<group name> -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Listar Grupo

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups"
    ```

    ### Listar Usuários em um Grupo

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
    ```

    Você precisará primeiro criar o grupo e, em seguida, substituí-lo para criar um grupo com membros. Também será necessário codificar os nomes dos grupos em URL caso o nome do grupo contenha um caractere especial como espaço; por exemplo, um nome de grupo como 'Engineering Group' precisará ser 'Engineering%20Group' na URL.

    Observe que os usuários precisam ser criados no Devin Desktop (via SCIM ou com a criação manual da conta) antes de serem adicionados a um grupo.

    ## APIs de Usuário

    Também há APIs para usuários. A seguir estão algumas das APIs SCIM mais comuns com suporte no Devin Desktop.

    Desativar um usuário (Ativar substituindo false por true):

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "active",
            "value": false
          }
        ]
      }'
    ```

    Desativar o acesso à CLI para um usuário (defina `cliActive` como `true` para reativar):

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "cliActive",
            "value": false
          }
        ]
      }'
    ```

    O atributo `cliActive` controla se um usuário pode acessar o Devin CLI. Ele é independente do atributo `active` — desabilitar o acesso ao CLI não afeta o seat do usuário nem o acesso a outros produtos do Devin Desktop. Se `cliActive` não estiver definido para um usuário, ele seguirá a política de acesso padrão ao CLI do time.

    Criar um usuário:

    ```
    curl -X POST \
      https://server.codeium.com/scim/v2/Users \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
        "userName": "<email>",
        "displayName": "<full name>",
        "active": true
    }'
    ```

    Atualizar nome:

    ```
    curl -X PATCH \
      'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
        -H 'Authorization: Bearer <service key>' \
        -H 'Content-Type: application/scim+json' \
        -d '{
          "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
          "Operations": [
            {
              "op": "Replace",
              "path": "displayName",
              "value": "<new name>"
            }
          ]
       }'
    ```

    ## Criando uma Chave Secreta de API

    Acesse [https://windsurf.com/team/settings](https://windsurf.com/team/settings). Em Service Key Configuration, clique em Add Service Key. Insira um nome para a chave (como 'Azure Provisioning Key') e clique em Create Service Key. Copie a chave gerada e salve-a; agora você pode usá-la para autorizar as APIs mencionadas acima.
  </Tab>

  <Tab title="Duo">
    ## Pré-requisitos

    Este guia pressupõe que o Duo já esteja configurado e atue como o IdP da sua organização, ou que um IdP externo esteja configurado.

    Você precisará de acesso de administrador às contas do Duo e do Devin Desktop.

    ## Configurar o Duo para o Devin Desktop

    1. Acesse Applications e adicione um provedor de serviço SAML genérico

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2337f30b719803b6be1ec02862918196" width="2230" height="920" data-path="desktop/assets/auth/duo-sso-1.png" />
    </Frame>

    2. Acesse SSO em Configurações da equipe

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. Ao ativar o SAML pela primeira vez, será necessário configurar seu ID de SSO. **Você não poderá alterá-lo depois.**

       É recomendável defini-lo como o nome da sua organização ou equipe, usando apenas caracteres alfanuméricos.

    4. Copie o valor de `Entity ID` do portal do Duo e cole-o no campo `IdP Entity ID` no portal do Devin Desktop.

    5. Copie o valor de `Single Sign-On URL` do portal do Duo e cole-o no campo `SSO URL` no portal do Devin Desktop.

    6. Copie o valor do certificado do portal do Duo e cole-o no campo `X509 Certificate` no portal do Devin Desktop

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7fbbc321d2ceb76480c6cc4a6b78d905" width="1536" height="290" data-path="desktop/assets/auth/duo-sso-3.png" />
    </Frame>

    7. Copie o valor de `SP Identity ID` do portal do Devin Desktop e cole-o no campo `Entity ID` no portal do Duo.

    8. Copie a `Callback URL (Assertion Consumer Service URL)` do portal do Devin Desktop e cole-a no campo `Assertion Consumer Service (ACS) URL` no portal do Duo.

    9. No portal do Duo, configure as declarações de atributo da seguinte forma:

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e5ac0ecad074d144d4d2b0cceaf341eb" width="1676" height="290" data-path="desktop/assets/auth/duo-sso-4.png" />
    </Frame>

    10. Ative o login SAML no portal do Devin Desktop para poder testá-lo.

    **NOTA: NÃO ENCERRE A SESSÃO NEM FECHE A JANELA NESTE MOMENTO.**

    Se ocorrer um erro ou a sessão expirar, revise as configurações. Caso contrário, você terá que desativar as Configurações de SAML no portal do Devin Desktop.

    **Se você encerrar a sessão ou fechar a janela sem confirmar que o teste foi bem-sucedido, poderá perder o acesso.**

    11. Quando o teste for concluído com sucesso, você poderá encerrar a sessão. Agora você já pode usar o login por SSO ao acessar a página da sua equipe/organização com o ID de SSO configurado na etapa 3.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>

  <Tab title="PingID">
    ## Pré-requisitos

    Este guia pressupõe que o PingID esteja configurado e atue como seu IdP organizacional, ou que um IdP externo esteja configurado.

    Você precisará de acesso de administrador às contas do PingID e do Devin Desktop.

    ## Configurar o PingID para o Devin Desktop

    1. Vá até Applications e adicione o Devin Desktop como um aplicativo SAML

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=842b8c157a663e3a2bfec30f047b414d" width="2258" height="1068" data-path="desktop/assets/auth/pingid-1.png" />
    </Frame>

    2. Vá até SSO em Configurações da equipe

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. Ao ativar o SAML pela primeira vez, será necessário configurar seu ID de SSO. **Você não poderá alterá-lo depois.**

    Recomenda-se defini-lo como o nome da sua organização ou equipe, usando apenas caracteres alfanuméricos.

    4. No PingID, escolha inserir a configuração manualmente e preencha os campos com os seguintes valores:

    * ACS URLs - este é o `Callback URL (Assertion Consumer Service URL)` do portal do Devin Desktop.
    * Entity ID - este é o `SP Entity ID` do portal do Devin Desktop.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8891f68b0286963b01cedcd19d63e03c" width="974" height="672" data-path="desktop/assets/auth/pingid-3.png" />
    </Frame>

    5. Copie o `Issuer ID` do PingID para o valor `IdP Entity ID` no portal do Devin Desktop.

    6. Copie o valor `Single Signon Service` do PingID para o valor `SSO URL` no portal do Devin Desktop.

    7. Baixe o Signing Certificate do PingID como X509 PEM (.crt), abra o arquivo e copie seu conteúdo para o valor `X509 Certificate` no portal do Devin Desktop.

    **Observação**: certifique-se de copiar as linhas completas de início e fim, com 5 traços (-), sem nenhum outro caractere!

    8. Nos mapeamentos de atributos, certifique-se de mapear:

    * `saml_subject` - Endereço de e-mail
    * `firstName` - Nome
    * `lastName` - Sobrenome

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=84d8f8b8804c4838673dfbf3ee8d5eee" width="1398" height="780" data-path="desktop/assets/auth/pingid-4.png" />
    </Frame>

    9. Adicione/edite quaisquer outras políticas e acessos conforme exigido pela sua configuração/organização

    10. Ative o login SAML no portal do Devin Desktop para testá-lo.

    **OBSERVAÇÃO: NÃO FAÇA LOGOUT NEM FECHE A JANELA NESTE MOMENTO.**

    Se ocorrer um erro ou a solicitação expirar, revise suas configurações; caso contrário, você terá que desativar as Configurações de SAML no portal do Devin Desktop.

    **Se você fizer logout ou fechar a janela sem confirmar um teste bem-sucedido, poderá perder o acesso.**

    11. Quando o teste for concluído com sucesso, você poderá fazer logout. Agora você pode usar o login com SSO ao acessar a página da sua equipe/organização com o ID de SSO que configurou na etapa 3.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>
</Tabs>
