Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.
Este recurso está disponível apenas para usuários dos planos Teams e Enterprise.
Este recurso não se aplica aos planos Cognition Platform. Para Cognition Platform, o SSO deve ser configurado e gerenciado nas configurações do Cognition Platform.
SSO (Single Sign-On) do Google
Microsoft Entra ID
SSO (Single Sign-On) do Okta
Azure SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
Okta SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
API do SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
Duo
PingID
Windsurf agora oferece suporte a login com SSO (Single Sign-On) 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 o Windsurf.
Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IDP NÃO é compatível no momento.
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.
Clique em Add app e, em seguida, Add custom SAML app.
Preencha App name com Windsurf e clique em Next.A próxima tela (Google Identity Provider details) na página do console do Google contém dados que você precisará copiar para as configurações de SSO do Windsurf em https://windsurf.com/team/settings.
Copie o SSO URL da página do console do Google para as configurações do Windsurf em SSO URL
Copie o Entity ID da página do console do Google para as configurações do Windsurf em Idp Entity ID
Copie o Certificate da página do console do Google para as configurações do Windsurf em X509 Certificate
Clique em Continue na página do console do Google
A próxima tela na página do console do Google exige que você copie dados da página de configurações do Codeium
Copie o Callback URL da página de configurações do Codeium para a página do console do Google em ACS URL
Copie o SP Entity ID da página de configurações do Codeium para a página do console do Google em SP Entity ID
Altere o formato do Name ID para EMAIL
Clique em Continue na página do console do Google
A tela seguinte na página do console do Google requer alguma configuração
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
Na página de configurações do Codeium, clique em Enable Login with SAML e depois em Save. Lembre-se de clicar em Test Login para confirmar que o login funciona como esperado. Agora, todos os usuários terão o login por SSO obrigatório.
Windsurf Enterprise agora oferece suporte a autenticação com Single Sign-On (SSO) via SAML. Se a sua organização usa Microsoft Entra ID (anteriormente Azure AD), você poderá usar SSO com o Windsurf.
O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
Parte 1: Criar aplicativo Enterprise no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
No Microsoft Entra ID, clique em Add e depois em Enterprise Application.
Clique em Create your own application.
Nomeie seu aplicativo como Windsurf, selecione Integrate any other application you don’t find in the gallery e então clique em Create.
Parte 2: Configurar SAML e atributos de usuário no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
No seu novo aplicativo Windsurf, clique em Set up single sign on e depois clique em SAML.
Clique em Edit em Basic SAML Configuration.
Mantenha esta aba do Entra ID aberta e abra uma nova aba para acessar as configurações de SSO do Windsurf Teams em https://windsurf.com/team/settings.
No formulário de configuração SAML do Microsoft Entra ID:
Identifier (Entity ID): copie o valor de SP Entity ID da página de configurações de SSO do Windsurf
Reply URL (Assertion Consumer Service URL): copie o valor de Callback URL da página de configurações de SSO do Windsurf
Clique em Save no topo
Configure os atributos de usuário para exibição correta do nome. No Microsoft Entra ID, em Attributes & Claims, clique em Edit.
Crie 2 novas declarações clicando em Add new claim para cada uma:
Primeira declaração: Name = firstName, Source attribute = user.givenname
Segunda declaração: Name = lastName, Source attribute = user.surname
Parte 3: Configurar as configurações de SSO no portal do Windsurf
Pick your SSO ID: escolha um identificador exclusivo para o portal de login da sua equipe (isso não poderá ser alterado depois)
IdP Entity ID: copie o valor do Microsoft Entra ID em Set up Windsurf → Microsoft Entra Identifier
A URL do IdP Entity ID deve terminar com uma barra / (por exemplo, https://sts.windows.net/{tenant-id}/). Se a URL não incluir a barra final, adicione-a manualmente.
SSO URL: copie o valor de Login URL do Microsoft Entra ID
X509 Certificate: baixe o SAML certificate (Base64) do Microsoft Entra ID, abra o arquivo e cole aqui o conteúdo de texto
No portal do Windsurf, clique em Enable Login with SAML e depois clique em Save.
Teste a configuração: clique em Test Login para verificar se a configuração de SSO está funcionando conforme esperado.
Importante: Não saia nem feche a página de configurações do Windsurf até testar o login com sucesso. Se o teste falhar, talvez seja necessário solucionar a configuração antes de prosseguir.
Windsurf Enterprise agora oferece suporte a login com SSO (Single Sign-On) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspace ou outro provedor de identidade que ofereça suporte a SAML, você poderá usar SSO com o Windsurf.
O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
Configurar o aplicativo do IdP
Clique em Applications na barra lateral esquerda e depois em Create App Integration.
Selecione SAML 2.0 como método de login.
Defina o nome do app como Windsurf (ou qualquer outro nome) e clique em Next.Configure as definições do SAML como:
Configure as declarações de atributo como a seguir e clique em Next.
Na seção de feedback, selecione “This is an internal app that we have created” e clique em Finish.
Registrar o Okta como um provedor SAML
Você deve ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, pegue as informações desta página e preencha-as nas configurações de SSO do Windsurf.
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:
Neste ponto, tudo deve estar configurado e você já pode adicionar usuários ao novo aplicativo Windsurf no Okta.Compartilhe a URL personalizada do Login Portal da sua organização com os usuários e peça que acessem por esse link.
Usuários que fizerem login no Windsurf via SSO serão aprovados automaticamente na equipe.
Observações
Observe que o Windsurf atualmente não oferece suporte a fluxos de login iniciados pelo IdP.Também ainda não oferecemos suporte a OIDC.
Solução de problemas
Login com configuração SAML falhou: Firebase: Error (auth/operation-not-allowed)
Isso indica um ID de SSO inválido ou que sua SSO URL está incorreta; verifique se é alfanumérica e não possui espaços extras ou caracteres inválidos. Revise as etapas do guia e certifique-se de usar os valores corretos.
Isso indica que seu IdP Entity ID é inválido; certifique-se de copiá-lo corretamente do portal do Okta, sem caracteres extras ou espaços antes ou depois da string.
Falha ao verificar a assinatura em samlresponse
Isso indica um valor incorreto do seu X509 certificate; certifique-se de copiar a chave correta e de que ela esteja formatada como:
O Windsurf oferece suporte à sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) para usuários e grupos com Microsoft Entra ID / Azure AD. Não é necessário configurar SSO (Single Sign-On) para usar a sincronização SCIM, mas é altamente recomendado.Você vai precisar de:
Acesso de administrador ao Microsoft Entra ID / Azure AD
Acesso de administrador ao Windsurf
Um aplicativo do Windsurf já existente no Entra ID (geralmente o mesmo usado pelo seu aplicativo de SSO atual)
Permissões necessárias para a Chave de serviçoA Chave de serviço usada para provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) 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.
Passo 1: Criar uma Função com Permissões SCIM
Antes de configurar o provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos), você precisa criar uma função com as permissões necessárias.
Em “Other Settings”, clique em Configure ao lado de Role Management
Clique em Add Role e dê a ele o nome “SCIM Provisioning”
Adicione as permissões a seguir:
Team User Read
Team User Update
Team User Delete
Clique em Save
Passo 2: Navegue até o aplicativo Windsurf existente
Acesse o Microsoft Entra ID no Azure, clique em Aplicativos empresariais na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista.
Passo 3: Configurar provisionamento SCIM
Clique em Começar em Provisionar Contas de Usuário no meio (etapa 3) e, em seguida, clique em Começar novamente.
Na página de configuração de Provisionamento, selecione as opções a seguir.Modo de Provisionamento: AutomáticoCredenciais do Administrador > URL do Locatário: https://server.codeium.com/scim/v2
Deixe a página de provisionamento do Azure aberta, agora vá para o portal web do Windsurf e clique no ícone de perfil na NavBar no topo da página. Em Configurações da Equipe, selecione Chave de serviço e clique em Adicionar Chave de serviço. Digite qualquer nome de chave (como ‘Provisionamento SCIM do Azure’), selecione a função “Provisionamento SCIM” que você criou anteriormente, e clique em Criar Chave de serviço. Copie a chave gerada, volte para a página do Azure e cole-a no Token Secreto.
(O que você deve ver após criar a chave no Windsurf)Na página de Provisionamento, clique em Test Connection e isso deve verificar a conexão SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).Agora, acima do formulário de Provisionamento, clique em Salvar.
Passo 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
Em Mapeamentos de atributos, exclua todos os campos sob displayName, deixando apenas os campos userName, active e displayName.
Para active, agora clique em Edit. Em Expression, modifique o campo para
NOT([IsSoftDeleted])
Em seguida, clique em OK.Seus atributos de usuário devem ficar assim
Na página de Mapeamento de Atributos, clique em Salvar na parte superior e retorne à página de Provisionamento.Agora, na mesma página, em Mappings, clique em Provision Microsoft Entra ID Groups. Agora clique apenas em excluir para externalId e clique em Save no topo. Navegue de volta para a página de Provisioning.
Na página de Provisionamento, na parte inferior, também deve haver um botão de alternância de Status de Provisionamento. Defina-o como Ativado para habilitar a sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Agora, a cada 40 minutos, seus usuários e grupos do aplicativo Entra ID serão sincronizados com o Windsurf.
Clique em Save para finalizar. Você habilitou a sincronização de usuários e grupos para SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Apenas usuários e grupos atribuídos ao aplicativo serão sincronizados com o Windsurf. Note que remover usuários apenas desabilita o acesso ao Windsurf (e impede que ocupem uma licença) em vez de excluir usuários, devido ao design SCIM do Azure.
Windsurf oferece sincronização SCIM para usuários e grupos com Okta. Não é necessário configurar SSO para usar a sincronização SCIM, mas é altamente recomendado.Você vai precisar de:
Acesso de administrador ao Okta
Acesso de administrador ao Windsurf
Um aplicativo Windsurf já criado no Okta (normalmente a partir do seu aplicativo de SSO existente)
Etapa 1: Navegue até o aplicativo Windsurf existente
Acesse o Okta, clique em Applications, Applications na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista de aplicativos.
Etapa 2: Habilite o provisionamento SCIM
Na guia General, em App Settings, clique em Edit no canto superior direito. Marque a caixa de seleção ‘Enable SCIM Provisioning’ e depois clique em Save. Uma nova guia de provisioning deve ter aparecido na parte superior.Agora vá para Provisioning, clique em Edit e preencha os seguintes campos:SCIM connector base URL: https://server.codeium.com/scim/v2Unique identifier field for users: emailSupported provisioning actions: Push New Users, Push Profile Updates, Push GroupsAuthentication Mode: HTTP HeaderPara HTTP Header - Authorization, você pode gerar o token em
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: Configure o provisionamento
Na guia Provisioning, à esquerda devem aparecer duas novas seções. Clique em To App e em Edit Provisioning to App. Marque as opções Create Users, Update User Attributes e Deactivate Users e clique em Save.Após esta etapa, todos os usuários atribuídos ao grupo serão sincronizados com o Windsurf.
Etapa 4: Configure o provisionamento de grupos (opcional)
Para sincronizar grupos com o Windsurf, você deverá especificar quais grupos enviar. No aplicativo, clique na guia Push Groups na parte superior. Agora clique em + Push Groups -> Find Groups by name. Filtre pelo grupo que deseja adicionar, certifique-se de que Push group memberships immediately esteja marcado e, em seguida, clique em Save. O grupo será criado e seus membros serão sincronizados com o Windsurf. Os grupos podem então ser usados para filtrar a visualização de grupo na página de Analytics.
Este guia mostra como criar e gerenciar grupos no Windsurf com a API SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).Existem razões pelas quais pode ser necessário provisionar grupos manualmente em vez de usar o Provedor de Identidade (Azure/Okta). As empresas podem querer que os grupos sejam provisionados a partir de uma fonte interna diferente (site de RH, Ferramenta de Gerenciamento de Código-fonte etc.) à qual o Windsurf não tem acesso, ou podem desejar um controle mais granular sobre os grupos do que o oferecido pelo Provedor de Identidade. Os grupos podem, portanto, ser criados através de uma API via requisição HTTP. A seguir são fornecidos exemplos da requisição HTTP via CURL.Existem 5 APIs principais aqui: Criar Grupo, Adicionar membros ao grupo, Substituir membros do grupo, Excluir Grupo e Listar Usuários de um Grupo.
Criar Grupo
curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{"displayName": "<nome do grupo>","schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]}' -H "Authorization: Bearer <chave secreta da api>" -H "Content-Type: application/scim+json"
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nome do grupo> -H "Authorization: Bearer <chave secreta da api>" -H "Content-Type: application/scim+json"
Listar Grupo
curl -X GET -H "Authorization: Bearer <chave secreta da api>" "https://server.codeium.com/scim/v2/Groups"
Listar Usuários de um Grupo
curl -X GET -H "Authorization: Bearer <chave secreta da api>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
Você precisará primeiro criar o grupo e depois substituí-lo para criar um grupo com membros. Você também precisará codificar os nomes dos grupos na URL se o nome do grupo contiver caracteres especiais como espaços, então um nome de grupo como ‘Engineering Group’ deverá ser ‘Engineering%20Group’ na URL.Observe que os usuários precisam ser criados no Windsurf (por meio do SCIM ou criando a conta manualmente) antes que possam ser adicionados a um grupo.
APIs do Usuário
Também há APIs para usuários. A seguir estão algumas das APIs SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) comuns que o Windsurf oferece suporte.Desabilitar um usuário (Para habilitar, substitua false por true):
curl -X PATCH \ https://server.codeium.com/scim/v2/Users/<chave de api do usuário> \ -H 'Content-Type: application/scim+json' \ -H 'Authorization: Bearer <chave secreta de api>' \ -d '{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "replace", "path": "active", "value": false } ] }'
Acesse https://windsurf.com/team/settings. Em Configuração de Chave de Serviço, clique em Adicionar Chave de Serviço. Digite qualquer nome para a chave (como ‘Chave de Provisionamento Azure’) e clique em Criar Chave de Serviço. Copie a chave resultante e salve-a; agora você pode usar a chave para autorizar as APIs mencionadas acima.
Pré-requisitos
Este guia pressupõe que você tenha o Duo configurado e atuando como seu IdP organizacional, ou que tenha um IdP externo configurado.Você precisará de acesso de administrador tanto às contas do Duo quanto do Windsurf.
Configurar o Duo para o Windsurf
Acesse Applications e adicione um provedor de serviço Generic SAML
Acesse SSO em Team Settings
Ao habilitar o SAML pela primeira vez, será necessário configurar seu SSO ID. 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.
Copie o valor de Entity ID no portal do Duo e cole no campo IdP Entity ID no portal do Windsurf.
Copie o valor de Single Sign-On URL no portal do Duo e cole no campo SSO URL no portal do Windsurf.
Copie o valor do certificado no portal do Duo e cole no campo X509 Certificate no portal do Windsurf.
Copie o valor de SP Identity ID no portal do Windsurf e cole no campo Entity ID no portal do Duo.
Copie o Callback URL (Assertion Consumer Service URL) no portal do Windsurf e cole no campo Assertion Consumer Service (ACS) URL no portal do Duo.
No portal do Duo, configure as declarações de atributos da seguinte forma:
Habilite o login SAML no portal do Windsurf para poder testá-lo.
ATENÇÃO: NÃO FAÇA LOGOUT NEM FECHE A JANELA NESTE MOMENTO.Se ocorrer um erro ou timeout, ajuste suas configurações; caso contrário, será necessário desabilitar suas configurações de SAML no portal do Windsurf.Se você fizer logout ou fechar a janela sem confirmar um teste bem-sucedido, poderá ficar sem acesso.
Depois que o teste for concluído com sucesso, você pode fazer logout. Agora você pode usar o login por SSO ao acessar a página da sua equipe/organização com o SSO ID configurado na etapa 3.
Este guia presume que você tem o PingID configurado e atuando como seu IdP organizacional, ou que tem um IdP externo configurado.Você precisará de acesso de administrador às contas do PingID e do Windsurf.
Configurar o PingID para o Windsurf
Vá até Applications e adicione o Windsurf como um SAML Application
Vá até SSO em Team Settings
Ao habilitar o SAML pela primeira vez, será necessário definir seu SSO ID. Você não poderá alterá-lo depois.
Recomenda-se definir o nome da sua organização ou equipe usando apenas caracteres alfanuméricos.
No PingID, escolha inserir a configuração manualmente e preencha os campos com os seguintes valores:
ACS URLs — é o Callback URL (Assertion Consumer Service URL) do portal do Windsurf.
Entity ID — é o SP Entity ID do portal do Windsurf.
Copie o Issuer ID do PingID para o campo IdP Entity ID no portal do Windsurf.
Copie o valor Single Signon Service do PingID para o campo SSO URL no portal do Windsurf.
Baixe o Signing Certificate do PingID como X509 PEM (.crt), abra o arquivo e copie seu conteúdo para o campo X509 Certificate no portal do Windsurf.
Observação: certifique-se de que as linhas de início e fim completas com 5 hifens (-) estejam incluídas e que nenhum outro caractere seja copiado!
Em attribute mappings, garanta o mapeamento de:
saml_subject — Email Address
firstName — Given Name
lastName — Family Name
Adicione/edite quaisquer outras políticas e acessos conforme exigido pela sua configuração/organização.
Habilite o login SAML no portal do Windsurf para poder testá-lo.
ATENÇÃO: NÃO FAÇA LOGOUT NEM FECHE A JANELA NESTE MOMENTO.Se ocorrer um erro ou timeout, ajuste suas configurações; caso contrário, será necessário desabilitar suas configurações de SAML no portal do Windsurf.Se você fizer logout ou fechar a janela sem confirmar um teste bem-sucedido, poderá ficar sem acesso.
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 SSO ID configurado na etapa 3.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Windsurf Docs","colors":{"primary":"#34E8BB","light":"#34E8BB","dark":"#34E8BB"},"logo":{"light":"https://mintcdn.com/codeium/Hr_wKmLaXZaiQOb6/assets/windsurf-black-logo.svg?fit=max\u0026auto=format\u0026n=Hr_wKmLaXZaiQOb6\u0026q=85\u0026s=9d8592a768328271378364064a81840f","dark":"https://mintcdn.com/codeium/Wq_VJcrav3XIkIsv/assets/windsurf-white-logo.svg?fit=max\u0026auto=format\u0026n=Wq_VJcrav3XIkIsv\u0026q=85\u0026s=cf2529c7ca0b084c690089bc03b55830","href":"https://windsurf.com"},"favicon":{"light":"https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/favicon.png?fit=max\u0026auto=format\u0026n=d8O4q6w3H2CjrirL\u0026q=85\u0026s=4d5b8948a5f906d0cbc35a86c11be09c","dark":"https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/favicon.png?fit=max\u0026auto=format\u0026n=d8O4q6w3H2CjrirL\u0026q=85\u0026s=4d5b8948a5f906d0cbc35a86c11be09c"},"navbar":{"links":[],"primary":{"type":"button","label":"Download","href":"https://windsurf.com/download"}},"footer":{"socials":{"twitter":"https://x.com/windsurf","discord":"https://discord.com/invite/3XFf78nAx5"}},"seo":{"metatags":{"og:image":"https://exafunction.github.io/public/hero/thumbnail_docs.png","twitter:image":"https://exafunction.github.io/public/hero/thumbnail_docs.png","twitter:site":"@windsurf","og:description":"Docs for Windsurf (formerly Codeium): your modern coding superpowers.","og:site_name":"Windsurf Docs","twitter:description":"Docs for Windsurf (formerly Codeium): your modern coding superpowers."},"indexing":"navigable"},"integrations":{"ga4":{"measurementId":"G-8183L9GV0M"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"windsurf/getting-started"},{"language":"fr","href":"fr/windsurf/getting-started"},{"language":"es","href":"es/windsurf/getting-started"},{"language":"de","href":"de/windsurf/getting-started"},{"language":"pt-BR","href":"pt-BR/windsurf/getting-started"},{"language":"zh","href":"zh/windsurf/getting-started"},{"language":"ja","href":"ja/windsurf/getting-started"},{"language":"ro","href":"ro/windsurf/getting-started"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"codeium","hasAudioNarration":false,"actualSubdomain":"codeium","customDomains":["docs.windsurf.com"],"gitSource":{"type":"github","owner":"exafunction","repo":"codeium-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae921b9a7789b0d4de9976b:success","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"en","tag":"Windsurf","count":57},{"language":"de","tag":"Windsurf","count":49},{"language":"es","tag":"Windsurf","count":49},{"language":"fr","tag":"Windsurf","count":49},{"language":"ja","tag":"Windsurf","count":49},{"language":"pt-BR","tag":"Windsurf","count":49},{"language":"ro","tag":"Windsurf","count":49},{"language":"zh","tag":"Windsurf","count":49},{"language":"en","tag":"Windsurf Plugins","count":44},{"language":"de","tag":"Windsurf Plugins","count":44},{"language":"es","tag":"Windsurf Plugins","count":44},{"language":"fr","tag":"Windsurf Plugins","count":44},{"language":"ja","tag":"Windsurf Plugins","count":44},{"language":"pt-BR","tag":"Windsurf Plugins","count":44},{"language":"ro","tag":"Windsurf Plugins","count":44},{"language":"zh","tag":"Windsurf Plugins","count":44},{"language":"en","tag":"Accounts","count":32},{"language":"de","tag":"Konten","count":30},{"language":"es","tag":"Cuentas","count":30},{"language":"fr","tag":"Comptes","count":30},{"language":"ja","tag":"アカウント","count":30},{"language":"pt-BR","tag":"Contas","count":30},{"language":"ro","tag":"Conturi","count":30},{"language":"zh","tag":"账户","count":30},{"language":"en","tag":"Teams \u0026 Enterprise","count":27},{"language":"de","tag":"Teams \u0026 Enterprise","count":26},{"language":"es","tag":"Teams y Enterprise","count":26},{"language":"fr","tag":"Teams et Enterprise","count":26},{"language":"pt-BR","tag":"Teams e Enterprise","count":26},{"language":"en","tag":"API Reference","count":18},{"language":"de","tag":"API-Referenz","count":18},{"language":"es","tag":"Referencia de la API","count":18},{"language":"fr","tag":"Référence de l’API","count":18},{"language":"ja","tag":"API リファレンス","count":18},{"language":"pt-BR","tag":"Referência da API","count":18},{"language":"zh","tag":"API 参考","count":18},{"language":"en","tag":"Editor","count":16},{"language":"de","tag":"Editor","count":14},{"language":"es","tag":"Editor","count":14},{"language":"fr","tag":"Éditeur","count":14},{"language":"ja","tag":"エディタ","count":14},{"language":"ja","tag":"Teams と Enterprise","count":14},{"language":"pt-BR","tag":"Editor","count":14},{"language":"ro","tag":"Editor","count":14},{"language":"ro","tag":"Teams și Enterprise","count":14},{"language":"zh","tag":"编辑器","count":14},{"language":"zh","tag":"Teams 与 Enterprise","count":14},{"language":"en","tag":"Troubleshooting","count":13},{"language":"de","tag":"Fehlerbehebung","count":13},{"language":"fr","tag":"Dépannage","count":13},{"language":"ja","tag":"トラブルシューティング","count":13},{"language":"ro","tag":"Depanare","count":13},{"language":"zh","tag":"故障排查","count":13},{"language":"en","tag":"Cascade","count":12},{"language":"de","tag":"Cascade","count":12},{"language":"es","tag":"Cascade","count":12},{"language":"fr","tag":"Cascade","count":12},{"language":"ja","tag":"Teams \u0026 Enterprise","count":12},{"language":"ja","tag":"Cascade","count":12},{"language":"pt-BR","tag":"Cascade","count":12},{"language":"ro","tag":"Teams \u0026 Enterprise","count":12},{"language":"ro","tag":"Cascade","count":12},{"language":"zh","tag":"Teams 和 Enterprise","count":12},{"language":"zh","tag":"Cascade","count":12},{"language":"en","tag":"Analytics API","count":10},{"language":"de","tag":"Analytics-API","count":10},{"language":"es","tag":"Analytics API","count":10},{"language":"fr","tag":"Analytics API","count":10},{"language":"ja","tag":"Analytics API(アナリティクス API)","count":10},{"language":"pt-BR","tag":"Analytics API","count":10},{"language":"ro","tag":"Analytics API","count":10},{"language":"zh","tag":"Analytics API","count":10},{"language":"ro","tag":"Referință API","count":9},{"language":"de","tag":"Erste Schritte","count":8},{"language":"es","tag":"Primeros pasos","count":8},{"language":"pt-BR","tag":"Primeiros passos","count":8},{"language":"es","tag":"Solución de problemas","count":7},{"language":"pt-BR","tag":"Solução de problemas","count":7},{"language":"en","tag":"Features","count":6},{"language":"fr","tag":"Fonctionnalités","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pt-BR/windsurf/accounts/sso-scim","slug":"/pt-BR/windsurf/accounts/sso-scim","pageMetadata":{"title":"Configurando SSO e SCIM","sidebarTitle":"SSO e SCIM","description":"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.","keywords":["SSO","SCIM","single sign-on","Okta","Azure AD","Google SSO","SAML","provedor de identidade","autenticação","provisionamento","Enterprise","Teams"],"href":"/pt-BR/windsurf/accounts/sso-scim"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Note,OptimizedImage,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:`Este recurso está disponível apenas para usuários dos planos Teams e Enterprise.`}),`\n`,_jsx(Note,{children:`Este recurso não se aplica aos planos Cognition Platform. Para Cognition Platform, o SSO deve ser configurado e gerenciado nas configurações do Cognition Platform.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`SSO (Single Sign-On) do Google`,id:`sso-single-sign-on-do-google`,\"data-child-heading-ids\":`[\"configurar-o-aplicativo-do-idp\"]`,children:[_jsx(_components.p,{children:`Windsurf agora oferece suporte a login com SSO (Single Sign-On) 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 o Windsurf.`}),_jsx(Note,{children:`Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IDP NÃO é compatível no momento.`}),_jsx(Heading,{level:`3`,id:`configurar-o-aplicativo-do-idp`,children:`Configurar o aplicativo do IDP`}),_jsxs(_components.p,{children:[`No console de administração do Google (admin.google.com), clique em `,_jsx(_components.strong,{children:`Apps -> Web and mobile apps`}),` no menu à esquerda.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9d300c86c609da6ee3fb630e91f4de3e`,\"data-og-width\":`530`,width:`530`,\"data-og-height\":`788`,height:`788`,\"data-path\":`assets/auth/sso-google.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9403af117b9c97981fe559adb9b978fc 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=058d140139f82caca5fee61a7d1f68cf 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b94d0aaf6b28f8646827af8918d07df8 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f3898fed99df69da663658fd214d8676 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7a78f68f99b617431f0df9f765a8bec0 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=19da5d516023353f4cc46dba47ce5b25 2500w`})}),_jsxs(_components.p,{children:[`Clique em `,_jsx(_components.strong,{children:`Add app`}),` e, em seguida, `,_jsx(_components.strong,{children:`Add custom SAML app`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=44375b535f269f130aea8c5bd6e736be`,\"data-og-width\":`514`,width:`514`,\"data-og-height\":`534`,height:`534`,\"data-path\":`assets/auth/sso-google2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=15b8ea405f2270379d74bfc0f4f2d59b 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4a7a6ea30e5b1656dd8e92612494d632 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=db37dd58c7c32527476d114151bb7b66 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=baa8aaa599b97b9c59f45eb0796febb4 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=5c1ae0fe3ac82b2965a2eea3601af438 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f67c6c78e1ff1bd171532584e4aa7c2f 2500w`})}),_jsxs(_components.p,{children:[`Preencha `,_jsx(_components.strong,{children:`App name`}),` com `,_jsx(_components.code,{children:`Windsurf`}),` e clique em `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsxs(_components.p,{children:[`A próxima tela (Google Identity Provider details) na página do console do Google contém dados que você precisará copiar para as configurações de SSO do Windsurf em `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Copie o `,_jsx(_components.strong,{children:`SSO URL`}),` da página do console do Google para as configurações do Windsurf em `,_jsx(_components.strong,{children:`SSO URL`})]}),`\n`,_jsxs(_components.li,{children:[`Copie o `,_jsx(_components.strong,{children:`Entity ID`}),` da página do console do Google para as configurações do Windsurf em `,_jsx(_components.strong,{children:`Idp Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Copie o `,_jsx(_components.strong,{children:`Certificate`}),` da página do console do Google para as configurações do Windsurf em `,_jsx(_components.strong,{children:`X509 Certificate`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Continue`}),` na página do console do Google`]}),`\n`]}),_jsx(_components.p,{children:`A próxima tela na página do console do Google exige que você copie dados da página de configurações do Codeium`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Copie o `,_jsx(_components.strong,{children:`Callback URL`}),` da página de configurações do Codeium para a página do console do Google em `,_jsx(_components.strong,{children:`ACS URL`})]}),`\n`,_jsxs(_components.li,{children:[`Copie o `,_jsx(_components.strong,{children:`SP Entity ID`}),` da página de configurações do Codeium para a página do console do Google em `,_jsx(_components.strong,{children:`SP Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Altere o formato do `,_jsx(_components.strong,{children:`Name ID`}),` para `,_jsx(_components.strong,{children:`EMAIL`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Continue`}),` na página do console do Google`]}),`\n`]}),_jsx(_components.p,{children:`A tela seguinte na página do console do Google requer alguma configuração`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Add Mapping`}),`, selecione `,_jsx(_components.strong,{children:`First name`}),` e defina `,_jsx(_components.strong,{children:`App attributes`}),` como `,_jsx(_components.strong,{children:`firstName`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Add Mapping`}),`, selecione `,_jsx(_components.strong,{children:`Last name`}),` e defina `,_jsx(_components.strong,{children:`App attributes`}),` como `,_jsx(_components.strong,{children:`lastName`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Finish`})]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c29f0ebf5a05dd5fae3a1127c4111d29`,\"data-og-width\":`2078`,width:`2078`,\"data-og-height\":`862`,height:`862`,\"data-path\":`assets/auth/sso-google3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=585b8d21d5b284ee28d9bd911c0d4295 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1a0dd06112db14e2acabe0750583dd71 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c82b1e1f6cf07b54049170ee5ac36eda 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fdac0e1950fd2e618710c99cee1c7656 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=45f58fd68db2619d5e87b3995c7103bf 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d6ae5462ed098ae48de0aa6b5801cacf 2500w`})}),_jsxs(_components.p,{children:[`Na página de configurações do Codeium, clique em `,_jsx(_components.strong,{children:`Enable Login with SAML`}),` e depois em `,_jsx(_components.strong,{children:`Save`}),`. Lembre-se de clicar em `,_jsx(_components.strong,{children:`Test Login`}),` para confirmar que o login funciona como esperado. Agora, todos os usuários terão o login por SSO obrigatório.`]})]}),_jsxs(Tab,{title:`Microsoft Entra ID`,id:`microsoft-entra-id`,\"data-child-heading-ids\":`[\"parte-1%3A-criar-aplicativo-enterprise-no-microsoft-entra-id\",\"parte-2%3A-configurar-saml-e-atributos-de-usu%C3%A1rio-no-microsoft-entra-id\",\"parte-3%3A-configurar-as-configura%C3%A7%C3%B5es-de-sso-no-portal-do-windsurf\"]`,children:[_jsx(_components.p,{children:`Windsurf Enterprise agora oferece suporte a autenticação com Single Sign-On (SSO) via SAML. Se a sua organização usa Microsoft Entra ID (anteriormente Azure AD), você poderá usar SSO com o Windsurf.`}),_jsx(Note,{children:`O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.`}),_jsx(Heading,{level:`2`,id:`parte-1-criar-aplicativo-enterprise-no-microsoft-entra-id`,children:`Parte 1: Criar aplicativo Enterprise no Microsoft Entra ID`}),_jsxs(Note,{children:[`Todas as etapas desta seção são realizadas no `,_jsx(_components.strong,{children:`Microsoft Entra ID admin center`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No Microsoft Entra ID, clique em `,_jsx(_components.strong,{children:`Add`}),` e depois em `,_jsx(_components.strong,{children:`Enterprise Application`}),`.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=70c1ef27e1870d1f95176d12cd7c9c47`,\"data-og-width\":`854`,width:`854`,\"data-og-height\":`384`,height:`384`,\"data-path\":`assets/auth/sso-azure.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1b88d7269fba84433a203348fd8a3920 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2f71d980824f058c3a36d499f4f488d6 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9bef7d83fd3afa0d42b25b81ab20d8e3 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b9c7eb219d3ff471f38175b0be2cdac8 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6802d42ea85adeb86d22f32e59ef8a5f 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=0eac589296d06ffcf16e6d2bdc771d0c 2500w`})}),_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Create your own application`}),`.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d8d3d2b159172edef9033487d1167b52`,\"data-og-width\":`680`,width:`680`,\"data-og-height\":`202`,height:`202`,\"data-path\":`assets/auth/sso-azure2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=66949d79e560dcf2c75bcafdcfb1b54a 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6ad3c318b6e47fa95b3e8677d01846ce 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=febe960a9ff782cebaf247868fd22bee 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f1c804a5b3dd2310840c95327f46241c 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7c4186eb8abb76e222579aae95f5b000 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1274eed53f279fbe64b0d52294708672 2500w`})}),_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`Nomeie seu aplicativo como `,_jsx(_components.strong,{children:`Windsurf`}),`, selecione `,_jsx(_components.em,{children:`Integrate any other application you don’t find in the gallery`}),` e então clique em `,_jsx(_components.strong,{children:`Create`}),`.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=38dd3186171705ca16387dfff4a5b24b`,\"data-og-width\":`968`,width:`968`,\"data-og-height\":`342`,height:`342`,\"data-path\":`assets/auth/sso-azure3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6c9dc6a0601145171999431fb61e0c4d 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=87b686e30cea98fa1075ceffc0fa40f1 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b03c9c18b557b0f3d113d86fa8c30577 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=43bd3dc28697ed33fe0342dd456d2d3d 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=20d19e9d664e7c835253b775229a969f 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=abebde3954de441e86f120269ac6b092 2500w`})}),_jsx(Heading,{level:`2`,id:`parte-2-configurar-saml-e-atributos-de-usuário-no-microsoft-entra-id`,children:`Parte 2: Configurar SAML e atributos de usuário no Microsoft Entra ID`}),_jsxs(Note,{children:[`Todas as etapas desta seção são realizadas no `,_jsx(_components.strong,{children:`Microsoft Entra ID admin center`}),`.`]}),_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`No seu novo aplicativo Windsurf, clique em `,_jsx(_components.strong,{children:`Set up single sign on`}),` e depois clique em `,_jsx(_components.strong,{children:`SAML`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Clique em `,_jsx(_components.strong,{children:`Edit`}),` em `,_jsx(_components.strong,{children:`Basic SAML Configuration`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Mantenha esta aba do Entra ID aberta`}),` e abra uma nova aba para acessar as `,_jsx(_components.strong,{children:`configurações de SSO do Windsurf Teams`}),` em `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`No formulário de configuração SAML do `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Identifier (Entity ID)`}),`: copie o valor de `,_jsx(_components.strong,{children:`SP Entity ID`}),` da `,_jsx(_components.strong,{children:`página de configurações de SSO do Windsurf`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reply URL (Assertion Consumer Service URL)`}),`: copie o valor de `,_jsx(_components.strong,{children:`Callback URL`}),` da `,_jsx(_components.strong,{children:`página de configurações de SSO do Windsurf`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Save`}),` no topo`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Configure os atributos de usuário para exibição correta do nome. No `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`, em `,_jsx(_components.strong,{children:`Attributes \u0026 Claims`}),`, clique em `,_jsx(_components.strong,{children:`Edit`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Crie 2 novas declarações clicando em `,_jsx(_components.strong,{children:`Add new claim`}),` para cada uma:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Primeira declaração`}),`: Name = `,_jsx(_components.code,{children:`firstName`}),`, Source attribute = `,_jsx(_components.code,{children:`user.givenname`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Segunda declaração`}),`: Name = `,_jsx(_components.code,{children:`lastName`}),`, Source attribute = `,_jsx(_components.code,{children:`user.surname`})]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Heading,{level:`2`,id:`parte-3-configurar-as-configurações-de-sso-no-portal-do-windsurf`,children:`Parte 3: Configurar as configurações de SSO no portal do Windsurf`}),_jsxs(Note,{children:[`Conclua a configuração no `,_jsx(_components.strong,{children:`portal do Windsurf`}),` (`,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`).`]}),_jsxs(_components.ol,{start:`10`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Na `,_jsx(_components.strong,{children:`página de configurações de SSO do Windsurf`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pick your SSO ID`}),`: escolha um identificador exclusivo para o portal de login da sua equipe (isso não poderá ser alterado depois)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`IdP Entity ID`}),`: copie o valor do `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),` em `,_jsx(_components.strong,{children:`Set up Windsurf`}),` → `,_jsx(_components.strong,{children:`Microsoft Entra Identifier`}),`\n`,_jsxs(Note,{children:[`A URL do IdP Entity ID deve terminar com uma barra `,_jsx(_components.code,{children:`/`}),` (por exemplo, `,_jsx(_components.code,{children:`https://sts.windows.net/{tenant-id}/`}),`). Se a URL não incluir a barra final, adicione-a manualmente.`]})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SSO URL`}),`: copie o valor de `,_jsx(_components.strong,{children:`Login URL`}),` do `,_jsx(_components.strong,{children:`Microsoft Entra ID`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`X509 Certificate`}),`: baixe o `,_jsx(_components.strong,{children:`SAML certificate (Base64)`}),` do `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`, abra o arquivo e cole aqui o conteúdo de texto`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`No `,_jsx(_components.strong,{children:`portal do Windsurf`}),`, clique em `,_jsx(_components.strong,{children:`Enable Login with SAML`}),` e depois clique em `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Teste a configuração`}),`: clique em `,_jsx(_components.strong,{children:`Test Login`}),` para verificar se a configuração de SSO está funcionando conforme esperado.`]}),`\n`]}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.strong,{children:`Importante`}),`: Não saia nem feche a página de configurações do Windsurf até testar o login com sucesso. Se o teste falhar, talvez seja necessário solucionar a configuração antes de prosseguir.`]})]}),_jsxs(Tab,{title:`SSO (Single Sign-On) do Okta`,id:`sso-single-sign-on-do-okta`,\"data-child-heading-ids\":`[\"configurar-o-aplicativo-do-idp-2\",\"registrar-o-okta-como-um-provedor-saml\",\"observa%C3%A7%C3%B5es\",\"solu%C3%A7%C3%A3o-de-problemas\",\"login-com-configura%C3%A7%C3%A3o-saml-falhou%3A-firebase%3A-error-auth%2Foperation-not-allowed\",\"login-com-configura%C3%A7%C3%A3o-saml-falhou%3A-firebase%3A-saml-response-%3Cissuer%3E-mismatch-auth%2Finvalid-credential\",\"falha-ao-verificar-a-assinatura-em-samlresponse\"]`,children:[_jsx(_components.p,{children:`Windsurf Enterprise agora oferece suporte a login com SSO (Single Sign-On) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspace ou outro provedor de identidade que ofereça suporte a SAML, você poderá usar SSO com o Windsurf.`}),_jsx(Note,{children:`O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.`}),_jsx(Heading,{level:`3`,id:`configurar-o-aplicativo-do-idp-2`,children:`Configurar o aplicativo do IdP`}),_jsx(_components.p,{children:`Clique em Applications na barra lateral esquerda e depois em Create App Integration.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e3f879d2fa7faeba003aa04e2c5d3a4a`,\"data-og-width\":`1248`,width:`1248`,\"data-og-height\":`962`,height:`962`,\"data-path\":`assets/auth/sso-okta1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=07c6dc86816c5d6cf956401bee450128 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2f2d86ae21cdef97580a0824ca01ffc8 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=ec432c4e43c969491df691687b1c8719 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4f42e54a6f8de42f3fa17349df08394e 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9f1cb10571d1c2ea02bf30638a762e9c 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=5c76f872b9163ec64637213aa646ba30 2500w`})}),_jsx(_components.p,{children:`Selecione SAML 2.0 como método de login.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=df39e8a15a879d8f2798a4284087c567`,\"data-og-width\":`1600`,width:`1600`,\"data-og-height\":`1023`,height:`1023`,\"data-path\":`assets/auth/sso-okta2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=26a63721d0018efa7b8a4800e6f408bb 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c052bfa279c58dc361223b5582a62c80 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=00ed32012a519da9011059476f423aa6 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=eb3839e1a82fa9bc1467a456a38a993b 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c678d8128c2aa8d5b42eb1ff185d80a8 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9586e95f5e7e3cc3f167548bdcec2b48 2500w`})}),_jsx(_components.p,{children:`Defina o nome do app como Windsurf (ou qualquer outro nome) e clique em Next.`}),_jsx(_components.p,{children:`Configure as definições do SAML como:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Single sign-on URL para `,_jsx(_components.a,{href:`https://auth.windsurf.com/\u0026#95;\u0026#95;/auth/handler`,children:`https://auth.windsurf.com/\u0026#95;\u0026#95;/auth/handler`})]}),`\n`,_jsxs(_components.li,{children:[`Audience URI (SP Entity ID) para `,_jsx(_components.a,{href:`http://www.codeium.com`,children:`www.codeium.com`})]}),`\n`,_jsx(_components.li,{children:`NameID format para EmailAddress`}),`\n`,_jsx(_components.li,{children:`Application username para Email`}),`\n`]}),_jsxs(_components.p,{children:[`Configure as declarações de atributo como a seguir e clique em `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=0903972c21dd13147a1adfe8791f1679`,\"data-og-width\":`1398`,width:`1398`,\"data-og-height\":`602`,height:`602`,\"data-path\":`assets/auth/sso-okta3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f247cb5627519ba2052a1c66bcabac11 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=8b0e97b79dbe969605c026e1d42918bf 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2c9e0db1830545f4605ec52128d0c13f 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f21b1c853cd6e3fb6234eaba4936714a 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e207e6d97821d5b568bcb3175aaa877c 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=5b9415f606224a480a8a21fd39d3c6b7 2500w`})}),_jsxs(_components.p,{children:[`Na seção de feedback, selecione “This is an internal app that we have created” e clique em `,_jsx(_components.strong,{children:`Finish`}),`.`]}),_jsx(Heading,{level:`3`,id:`registrar-o-okta-como-um-provedor-saml`,children:`Registrar o Okta como um provedor SAML`}),_jsx(_components.p,{children:`Você deve ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, pegue as informações desta página e preencha-as nas configurações de SSO do Windsurf.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Abra `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),` e clique em Configure SAML`]}),`\n`,_jsx(_components.li,{children:`Copie o texto após ‘Issuer’ na página do aplicativo do Okta e cole em IdP Entity ID`}),`\n`,_jsx(_components.li,{children:`Copie o texto após ‘Sign on URL’ na página do aplicativo do Okta e cole em SSO URL`}),`\n`,_jsx(_components.li,{children:`Baixe o Signing Certificate e cole em X509 certificate`}),`\n`,_jsx(_components.li,{children:`Marque Enable Login with SAML e clique em Save`}),`\n`,_jsx(_components.li,{children:`Teste o login com o botão Test Login. Você deverá ver uma mensagem de sucesso:`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=574e091c869162bc41dc0aa36cd209fa`,\"data-og-width\":`1046`,width:`1046`,\"data-og-height\":`270`,height:`270`,\"data-path\":`assets/auth/sso-okta4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c0de67fc05d02d94917d0eb38a93bfc7 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=8a4532d29bde6a981fcfa56b16d2089c 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b166bddfbf60fd9be17010aedbc5f300 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4cc97e1ce5cbce8fe4b68f5736943608 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=10278811dec7a4ace3e27dafafe4dfdf 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=85583cef85521726dc3daa5307b6d733 2500w`})}),_jsx(_components.p,{children:`Neste ponto, tudo deve estar configurado e você já pode adicionar usuários ao novo aplicativo Windsurf no Okta.`}),_jsx(_components.p,{children:`Compartilhe a URL personalizada do Login Portal da sua organização com os usuários e peça que acessem por esse link.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f3ccced59b0cbc7d0f0b1b6b39f1ee1c`,\"data-og-width\":`988`,width:`988`,\"data-og-height\":`312`,height:`312`,\"data-path\":`assets/auth/sso-okta5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=02f37508edd5db6db866fd78e4a7acb9 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c12ca954c3031664fbcd2ca960b5383b 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=75b02544b99c1e0a578234b57a07ea34 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=cb11ec40d15a57198f780ae701029f44 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e51d3d2475655aef87f71b8b6105fb55 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=46ba7597ae1b616f37354006d6c5f907 2500w`})}),_jsx(_components.p,{children:`Usuários que fizerem login no Windsurf via SSO serão aprovados automaticamente na equipe.`}),_jsx(Heading,{level:`3`,id:`observações`,children:`Observações`}),_jsx(_components.p,{children:`Observe que o Windsurf atualmente não oferece suporte a fluxos de login iniciados pelo IdP.`}),_jsx(_components.p,{children:`Também ainda não oferecemos suporte a OIDC.`}),_jsx(Heading,{level:`1`,id:`solução-de-problemas`,children:`Solução de problemas`}),_jsx(Heading,{level:`3`,id:`login-com-configuração-saml-falhou-firebase-error-auth/operation-not-allowed`,children:`Login com configuração SAML falhou: Firebase: Error (auth/operation-not-allowed)`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f65534799dfd8f941a68dc9fc72236d4`,\"data-og-width\":`617`,width:`617`,\"data-og-height\":`92`,height:`92`,\"data-path\":`assets/auth/sso-okta6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4f6a8118ceb9a6511557fb3d5a89cfd8 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=0cc4bcb6da5527e085f1e95e7565b2f6 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f1b542a1a5d5f18a6f07ce1fef0099f8 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=5b8cdc47c2f5c742e4bef33ba4eb459a 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=087c32afb9c9f9850d596b218be3f923 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=02c760fbfa8d931d9781b596ede9d08d 2500w`})}),_jsx(_components.p,{children:`Isso indica um ID de SSO inválido ou que sua SSO URL está incorreta; verifique se é alfanumérica e não possui espaços extras ou caracteres inválidos. Revise as etapas do guia e certifique-se de usar os valores corretos.`}),_jsx(Heading,{level:`3`,id:`login-com-configuração-saml-falhou-firebase-saml-response-\u003cissuer>-mismatch-auth/invalid-credential`,children:`Login com configuração SAML falhou: Firebase: SAML Response \u003cIssuer> mismatch. (auth/invalid-credential)`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=446c8ad9510b7dcc8e744c7b80862c29`,\"data-og-width\":`752`,width:`752`,\"data-og-height\":`117`,height:`117`,\"data-path\":`assets/auth/sso-okta7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=efd56e3400b53ceb05c2a6f3f16dca44 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f41a12504545c5f78998cb6f152564c9 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=21967311e74ec09546b31c6f49dc2dd8 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2d07267015603fb0e6d4ccd0ba3c1e81 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=619c0eaf530646e7b6dd294d5cc2712a 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a6217bfd37b259f63112cf22c3bb098b 2500w`})}),_jsx(_components.p,{children:`Isso indica que seu IdP Entity ID é inválido; certifique-se de copiá-lo corretamente do portal do Okta, sem caracteres extras ou espaços antes ou depois da string.`}),_jsx(Heading,{level:`3`,id:`falha-ao-verificar-a-assinatura-em-samlresponse`,children:`Falha ao verificar a assinatura em samlresponse`}),_jsx(_components.p,{children:`Isso indica um valor incorreto do seu X509 certificate; certifique-se de copiar a chave correta e de que ela esteja formatada como:`}),_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`-----BEGIN CERTIFICATE-----`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`value`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`------END CERTIFICATE------`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsxs(Tab,{title:`Azure SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)`,id:`azure-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos`,\"data-child-heading-ids\":`[\"passo-1%3A-criar-uma-fun%C3%A7%C3%A3o-com-permiss%C3%B5es-scim\",\"passo-2%3A-navegue-at%C3%A9-o-aplicativo-windsurf-existente\",\"passo-3%3A-configurar-provisionamento-scim\",\"passo-4%3A-configurar-o-provisionamento-scim\"]`,children:[_jsx(_components.p,{children:`O Windsurf oferece suporte à sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) para usuários e grupos com Microsoft Entra ID / Azure AD. Não é necessário configurar SSO (Single Sign-On) para usar a sincronização SCIM, mas é altamente recomendado.`}),_jsx(_components.p,{children:`Você vai precisar de:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Acesso de administrador ao Microsoft Entra ID / Azure AD`}),`\n`,_jsx(_components.li,{children:`Acesso de administrador ao Windsurf`}),`\n`,_jsx(_components.li,{children:`Um aplicativo do Windsurf já existente no Entra ID (geralmente o mesmo usado pelo seu aplicativo de SSO atual)`}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Permissões necessárias para a Chave de serviço`})}),_jsx(_components.p,{children:`A Chave de serviço usada para provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) deve ter as seguintes permissões:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Read`}),` - Necessária para ler informações de usuários e grupos`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Update`}),` - Necessária para criar e atualizar usuários e grupos`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Delete`}),` - Necessária para desativar/excluir usuários e grupos`]}),`\n`]}),_jsx(_components.p,{children:`Você pode criar uma função personalizada com essas permissões ou usar uma função de administrador existente que as inclua.`})]}),_jsx(Heading,{level:`2`,id:`passo-1-criar-uma-função-com-permissões-scim`,children:`Passo 1: Criar uma Função com Permissões SCIM`}),_jsx(_components.p,{children:`Antes de configurar o provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos), você precisa criar uma função com as permissões necessárias.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Acesse `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`Windsurf Team Settings`})]}),`\n`,_jsxs(_components.li,{children:[`Em “Other Settings”, clique em `,_jsx(_components.strong,{children:`Configure`}),` ao lado de `,_jsx(_components.strong,{children:`Role Management`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Add Role`}),` e dê a ele o nome “SCIM Provisioning”`]}),`\n`,_jsxs(_components.li,{children:[`Adicione as permissões a seguir:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Team User Read`}),`\n`,_jsx(_components.li,{children:`Team User Update`}),`\n`,_jsx(_components.li,{children:`Team User Delete`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Save`})]}),`\n`]}),_jsx(Heading,{level:`2`,id:`passo-2-navegue-até-o-aplicativo-windsurf-existente`,children:`Passo 2: Navegue até o aplicativo Windsurf existente`}),_jsx(_components.p,{children:`Acesse o Microsoft Entra ID no Azure, clique em Aplicativos empresariais na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c2425d24cadc8997c694a4b8a950169a`,\"data-og-width\":`1258`,width:`1258`,\"data-og-height\":`664`,height:`664`,\"data-path\":`assets/auth/scim-azure.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d2a0a5702a29ce1264d133bb5d3545c1 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f91fd83f53b34bab00d17c64358ac511 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4fc4661fa56013064005d8d923a13547 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=196d0489a6a5fdf4200ab92e7f5835d5 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fb03af9c8d156c0f5c2331ab5289d588 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=58bcf8651ea7dc34d4f7e561b7c6ab34 2500w`})}),_jsx(Heading,{level:`2`,id:`passo-3-configurar-provisionamento-scim`,children:`Passo 3: Configurar provisionamento SCIM`}),_jsx(_components.p,{children:`Clique em Começar em Provisionar Contas de Usuário no meio (etapa 3) e, em seguida, clique em Começar novamente.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=1e9c8417da7568dc587941955f6d0ace`,\"data-og-width\":`2582`,width:`2582`,\"data-og-height\":`1858`,height:`1858`,\"data-path\":`assets/auth/scim-azure2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=280\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=ce2a379d150e9b6383eeb48e52c96a01 280w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=560\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=4f51c287262043282173de0e1efc538c 560w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=840\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=21c65050cb093e453197eecbd348d773 840w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=074fcdd9f2ef2e03ad23580185dd48fe 1100w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=324c2d04d90956f34ee3c9a8c11ef548 1650w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=cd3257cf044253173943f57c3b89a5b6 2500w`})}),_jsx(_components.p,{children:`Na página de configuração de Provisionamento, selecione as opções a seguir.`}),_jsx(_components.p,{children:`Modo de Provisionamento: Automático`}),_jsxs(_components.p,{children:[`Credenciais do Administrador > URL do Locatário: `,_jsx(_components.a,{href:`https://server.codeium.com/scim/v2`,children:`https://server.codeium.com/scim/v2`})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=ee0b34f8f0f131441eb9ca9e89ccbcda`,\"data-og-width\":`560`,width:`560`,\"data-og-height\":`416`,height:`416`,\"data-path\":`assets/auth/scim-azure-admin-credentials.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=280\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=c8581d4e4ad89b8a5edf7c138c364854 280w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=560\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=b689bb2e0efdf652f56a2a9b94b51f27 560w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=840\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=9a5e159c52dd929afbc02ce2292f05e5 840w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=1100\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=babac19088e58725307bdadaa495f9d6 1100w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=1650\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=6b2a1255d4ee047ee6f9aa4556dbaa21 1650w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=2500\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=ebf7a44a0053609e44623549c6aae9b5 2500w`})}),_jsxs(_components.p,{children:[`Deixe a página de provisionamento do Azure aberta, agora vá para o portal web do Windsurf e clique no ícone de perfil na NavBar no topo da página. Em Configurações da Equipe, selecione Chave de serviço e clique em Adicionar Chave de serviço. Digite qualquer nome de chave (como ‘Provisionamento SCIM do Azure’), `,_jsx(_components.strong,{children:`selecione a função “Provisionamento SCIM” que você criou anteriormente`}),`, e clique em Criar Chave de serviço. Copie a chave gerada, volte para a página do Azure e cole-a no Token Secreto.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=80477c2c0d31631e38e217b22e9f42a3`,\"data-og-width\":`1612`,width:`1612`,\"data-og-height\":`1013`,height:`1013`,\"data-path\":`assets/auth/scim-azure3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c547369cd10d19d77dbdb3586045c027 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e375425a3fe55cc5425f53e78b34f32f 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f15b3e3d387acd4ac3371b882595252a 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=49e6c3e224944aef0dfa88b13b401a74 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7dd27466493288c1d49a4327070f9f6f 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4f40f4c6d50b15c421ba344a2013a8cc 2500w`})}),_jsx(_components.p,{children:`(O que você deve ver após criar a chave no Windsurf)`}),_jsx(_components.p,{children:`Na página de Provisionamento, clique em Test Connection e isso deve verificar a conexão SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).`}),_jsx(_components.p,{children:`Agora, acima do formulário de Provisionamento, clique em Salvar.`}),_jsx(Heading,{level:`2`,id:`passo-4-configurar-o-provisionamento-scim`,children:`Passo 4: Configurar o Provisionamento SCIM`}),_jsx(_components.p,{children:`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`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=276791b068bd34c2bcbe5321e95abfd6`,\"data-og-width\":`666`,width:`666`,\"data-og-height\":`438`,height:`438`,\"data-path\":`assets/auth/scim-azure4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6e36e1d72d4db00f49e114fdcc4a25be 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c11c14a5020abebd95bb43a970d88584 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=190236b1aaadafb15d6b7b7bc320ade2 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9d153d92aeb12bfaf4bd7868270d0e17 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=00ff52c3a669e6dbb4f7346e0831fa23 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=640997349e4672552c5f07b170e81d22 2500w`})}),_jsx(_components.p,{children:`Em Mapeamentos de atributos, exclua todos os campos sob displayName, deixando apenas os campos userName, active e displayName.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=ddb9440614a4bc04f7c561bbf64a2d5a`,\"data-og-width\":`1260`,width:`1260`,\"data-og-height\":`190`,height:`190`,\"data-path\":`assets/auth/scim-azure5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=394d02238802b10210ff30262a7e669e 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=da13a8c0a933b23e30d66c8a25c7509b 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fef036d0c788f16fe95ebca4f360388d 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b3a2f8ec1b2b3482ec86aa26e3dad431 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b4c4b2f43e28978d2c3acafee01a3ed0 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=3bf1b1e6d6863d74fd5344f25ac07ecc 2500w`})}),_jsx(_components.p,{children:`Para active, agora clique em Edit. Em Expression, modifique o campo para`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`NOT([IsSoftDeleted])`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Em seguida, clique em OK.`}),_jsx(_components.p,{children:`Seus atributos de usuário devem ficar assim`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2beab12c979d3272d522293080634811`,\"data-og-width\":`2826`,width:`2826`,\"data-og-height\":`490`,height:`490`,\"data-path\":`assets/auth/scim-azure6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4a8ee3358e95d0cd9d50bd0d538564a7 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a80cc215059b3780ca14c6ba370a6586 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=60057214f7d952812b598371e6c978d3 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e9bcab8fd1017d0892bea2a169ac02e9 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=786f7e9bf633dcbd60d8059a61caf106 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d4e9a7b532a2f85244bcaa90572ba06a 2500w`})}),_jsx(_components.p,{children:`Na página de Mapeamento de Atributos, clique em Salvar na parte superior e retorne à página de Provisionamento.`}),_jsx(_components.p,{children:`Agora, na mesma página, em Mappings, clique em Provision Microsoft Entra ID Groups. Agora clique apenas em excluir para externalId e clique em Save no topo. Navegue de volta para a página de Provisioning.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=11e89ce7d057c455ea00e0f469351b61`,\"data-og-width\":`1258`,width:`1258`,\"data-og-height\":`203`,height:`203`,\"data-path\":`assets/auth/scim-azure7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=cd56976ca792e265e725662085b17a19 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=bd115677b029f5e93699ab0a03768382 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d4bded4bf9d8689909e28c61ad510ce0 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d57065b32eff89171254875a8df64498 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b6360f57f064b8ef7a10b63de8cfc7ef 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=51e4b607b0652154956ce119600415ba 2500w`})}),_jsx(_components.p,{children:`Na página de Provisionamento, na parte inferior, também deve haver um botão de alternância de Status de Provisionamento. Defina-o como Ativado para habilitar a sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Agora, a cada 40 minutos, seus usuários e grupos do aplicativo Entra ID serão sincronizados com o Windsurf.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1214073ce82bd85a1c2a57834005608f`,\"data-og-width\":`686`,width:`686`,\"data-og-height\":`306`,height:`306`,\"data-path\":`assets/auth/scim-azure8.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=53139148e9394f611f436dc2128bcc33 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a227c181354a371f3ae4aa13673a5c89 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=b9f85d836d1f06eb19a365d2f0cd9106 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6dd2cc814ee02f9bd402348e8c202d38 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=35af8b5f5183e3d4bfda09ec4d7b092b 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d69d23c955420b31547dabb0b0950863 2500w`})}),_jsx(_components.p,{children:`Clique em Save para finalizar. Você habilitou a sincronização de usuários e grupos para SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Apenas usuários e grupos atribuídos ao aplicativo serão sincronizados com o Windsurf. Note que remover usuários apenas desabilita o acesso ao Windsurf (e impede que ocupem uma licença) em vez de excluir usuários, devido ao design SCIM do Azure.`})]}),_jsxs(Tab,{title:`Okta SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)`,id:`okta-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos`,\"data-child-heading-ids\":`[\"etapa-1%3A-navegue-at%C3%A9-o-aplicativo-windsurf-existente\",\"etapa-2%3A-habilite-o-provisionamento-scim\",\"etapa-3%3A-configure-o-provisionamento\",\"etapa-4%3A-configure-o-provisionamento-de-grupos-opcional\"]`,children:[_jsx(_components.p,{children:`Windsurf oferece sincronização SCIM para usuários e grupos com Okta. Não é necessário configurar SSO para usar a sincronização SCIM, mas é altamente recomendado.`}),_jsx(_components.p,{children:`Você vai precisar de:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Acesso de administrador ao Okta`}),`\n`,_jsx(_components.li,{children:`Acesso de administrador ao Windsurf`}),`\n`,_jsx(_components.li,{children:`Um aplicativo Windsurf já criado no Okta (normalmente a partir do seu aplicativo de SSO existente)`}),`\n`]}),_jsx(Heading,{level:`2`,id:`etapa-1-navegue-até-o-aplicativo-windsurf-existente`,children:`Etapa 1: Navegue até o aplicativo Windsurf existente`}),_jsx(_components.p,{children:`Acesse o Okta, clique em Applications, Applications na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista de aplicativos.`}),_jsx(Heading,{level:`2`,id:`etapa-2-habilite-o-provisionamento-scim`,children:`Etapa 2: Habilite o provisionamento SCIM`}),_jsx(_components.p,{children:`Na guia General, em App Settings, clique em Edit no canto superior direito. Marque a caixa de seleção ‘Enable SCIM Provisioning’ e depois clique em Save. Uma nova guia de provisioning deve ter aparecido na parte superior.`}),_jsx(_components.p,{children:`Agora vá para Provisioning, clique em Edit e preencha os seguintes campos:`}),_jsxs(_components.p,{children:[`SCIM connector base URL: `,_jsx(_components.a,{href:`https://server.codeium.com/scim/v2`,children:`https://server.codeium.com/scim/v2`})]}),_jsx(_components.p,{children:`Unique identifier field for users: email`}),_jsx(_components.p,{children:`Supported provisioning actions: Push New Users, Push Profile Updates, Push Groups`}),_jsx(_components.p,{children:`Authentication Mode: HTTP Header`}),_jsx(_components.p,{children:`Para HTTP Header - Authorization, você pode gerar o token em`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),` e vá para Service Key Configuration`]}),`\n`,_jsx(_components.li,{children:`Clique em Configure, depois em Add Service Key e dê um nome à sua chave de API`}),`\n`,_jsx(_components.li,{children:`Copie a chave de API, volte para o Okta e cole em HTTP Header - Authorization`}),`\n`]}),_jsx(_components.p,{children:`Clique em Save após preencher Provisioning Integration.`}),_jsx(Heading,{level:`2`,id:`etapa-3-configure-o-provisionamento`,children:`Etapa 3: Configure o provisionamento`}),_jsx(_components.p,{children:`Na guia Provisioning, à esquerda devem aparecer duas novas seções. Clique em To App e em Edit Provisioning to App. Marque as opções Create Users, Update User Attributes e Deactivate Users e clique em Save.`}),_jsx(_components.p,{children:`Após esta etapa, todos os usuários atribuídos ao grupo serão sincronizados com o Windsurf.`}),_jsx(Heading,{level:`2`,id:`etapa-4-configure-o-provisionamento-de-grupos-opcional`,children:`Etapa 4: Configure o provisionamento de grupos (opcional)`}),_jsx(_components.p,{children:`Para sincronizar grupos com o Windsurf, você deverá especificar quais grupos enviar. No aplicativo, clique na guia Push Groups na parte superior. Agora clique em + Push Groups -> Find Groups by name. Filtre pelo grupo que deseja adicionar, certifique-se de que Push group memberships immediately esteja marcado e, em seguida, clique em Save. O grupo será criado e seus membros serão sincronizados com o Windsurf. Os grupos podem então ser usados para filtrar a visualização de grupo na página de Analytics.`})]}),_jsxs(Tab,{title:`API do SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)`,id:`api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos`,\"data-child-heading-ids\":`[\"criar-grupo\",\"adicionar-membros-do-grupo\",\"substituir-membros-do-grupo\",\"excluir-grupo\",\"listar-grupo\",\"listar-usu%C3%A1rios-de-um-grupo\",\"apis-do-usu%C3%A1rio\",\"criando-chave-secreta-da-api\"]`,children:[_jsx(_components.p,{children:`Este guia mostra como criar e gerenciar grupos no Windsurf com a API SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).`}),_jsx(_components.p,{children:`Existem razões pelas quais pode ser necessário provisionar grupos manualmente em vez de usar o Provedor de Identidade (Azure/Okta). As empresas podem querer que os grupos sejam provisionados a partir de uma fonte interna diferente (site de RH, Ferramenta de Gerenciamento de Código-fonte etc.) à qual o Windsurf não tem acesso, ou podem desejar um controle mais granular sobre os grupos do que o oferecido pelo Provedor de Identidade. Os grupos podem, portanto, ser criados através de uma API via requisição HTTP. A seguir são fornecidos exemplos da requisição HTTP via CURL.`}),_jsx(_components.p,{children:`Existem 5 APIs principais aqui: Criar Grupo, Adicionar membros ao grupo, Substituir membros do grupo, Excluir Grupo e Listar Usuários de um Grupo.`}),_jsx(Heading,{level:`3`,id:`criar-grupo`,children:`Criar Grupo`}),_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"displayName\": \"\u003cnome do grupo>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:Group\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}' -H \"Authorization: Bearer \u003cchave secreta da api>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`adicionar-membros-do-grupo`,children:`Adicionar Membros do Grupo`}),_jsx(CodeBlock,{numberOfLines:`8`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X PATCH https://server.codeium.com/scim/v2/Groups/\u003cnome do grupo> -d '{\"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Operations\":[`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"op\": \"add\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"path\":\"members\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"value\": [{\"value\": \"\u003cemail 1>\"}, {\"value\": \"\u003cemail 2>\"}]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}]}' -H \"Authorization: Bearer \u003cchave secreta da api>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`substituir-membros-do-grupo`,children:`Substituir Membros do Grupo`}),_jsx(CodeBlock,{numberOfLines:`8`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X PATCH https://server.codeium.com/scim/v2/Groups/\u003cnome do grupo> -d '{\"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Operations\":[`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"op\": \"replace\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"path\":\"members\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"value\": [{\"value\": \"\u003cemail 1>\"}, {\"value\": \"\u003cemail 2>\"}]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}]}' -H \"Authorization: Bearer \u003cchave secreta da api>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`excluir-grupo`,children:`Excluir Grupo`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X DELETE https://server.codeium.com/scim/v2/Groups/\u003cnome do grupo> -H \"Authorization: Bearer \u003cchave secreta da api>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`listar-grupo`,children:`Listar Grupo`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X GET -H \"Authorization: Bearer \u003cchave secreta da api>\" \"https://server.codeium.com/scim/v2/Groups\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`listar-usuários-de-um-grupo`,children:`Listar Usuários de um Grupo`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X GET -H \"Authorization: Bearer \u003cchave secreta da api>\" \"https://server.codeium.com/scim/v2/Groups/\u003cgroup_id>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Você precisará primeiro criar o grupo e depois substituí-lo para criar um grupo com membros. Você também precisará codificar os nomes dos grupos na URL se o nome do grupo contiver caracteres especiais como espaços, então um nome de grupo como ‘Engineering Group’ deverá ser ‘Engineering%20Group’ na URL.`}),_jsx(_components.p,{children:`Observe que os usuários precisam ser criados no Windsurf (por meio do SCIM ou criando a conta manualmente) antes que possam ser adicionados a um grupo.`}),_jsx(Heading,{level:`2`,id:`apis-do-usuário`,children:`APIs do Usuário`}),_jsx(_components.p,{children:`Também há APIs para usuários. A seguir estão algumas das APIs SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) comuns que o Windsurf oferece suporte.`}),_jsx(_components.p,{children:`Desabilitar um usuário (Para habilitar, substitua false por true):`}),_jsx(CodeBlock,{numberOfLines:`15`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X PATCH \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` https://server.codeium.com/scim/v2/Users/\u003cchave de api do usuário> \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Content-Type: application/scim+json' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Authorization: Bearer \u003cchave secreta de api>' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -d '{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"Operations\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"op\": \"replace\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"path\": \"active\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"value\": false`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Criar um usuário:`}),_jsx(CodeBlock,{numberOfLines:`11`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X POST \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` https://server.codeium.com/scim/v2/Users \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Content-Type: application/scim+json' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Authorization: Bearer \u003cchave secreta da API>' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -d '{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"userName\": \"\u003cemail>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"displayName\": \"\u003cfull name>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"active\": true,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`Atualizar nome:`}),_jsx(CodeBlock,{numberOfLines:`15`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`curl -X PATCH \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` 'https://\u003centerprise portal url>/_route/api_server/scim/v2/Users/\u003cuser api key>' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Authorization: Bearer \u003cservice key>' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -H 'Content-Type: application/scim+json' \\\\`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` -d '{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"schemas\": [\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"Operations\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"op\": \"Replace\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"path\": \"displayName\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"value\": \"\u003cnovo nome>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`criando-chave-secreta-da-api`,children:`Criando Chave Secreta da API`}),_jsxs(_components.p,{children:[`Acesse `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`. Em Configuração de Chave de Serviço, clique em Adicionar Chave de Serviço. Digite qualquer nome para a chave (como ‘Chave de Provisionamento Azure’) e clique em Criar Chave de Serviço. Copie a chave resultante e salve-a; agora você pode usar a chave para autorizar as APIs mencionadas acima.`]})]}),_jsxs(Tab,{title:`Duo`,id:`duo`,\"data-child-heading-ids\":`[\"pr%C3%A9-requisitos\",\"configurar-o-duo-para-o-windsurf\"]`,children:[_jsx(Heading,{level:`2`,id:`pré-requisitos`,children:`Pré-requisitos`}),_jsx(_components.p,{children:`Este guia pressupõe que você tenha o Duo configurado e atuando como seu IdP organizacional, ou que tenha um IdP externo configurado.`}),_jsx(_components.p,{children:`Você precisará de acesso de administrador tanto às contas do Duo quanto do Windsurf.`}),_jsx(Heading,{level:`2`,id:`configurar-o-duo-para-o-windsurf`,children:`Configurar o Duo para o Windsurf`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Acesse Applications e adicione um provedor de serviço Generic SAML`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7e598d7e9a9ee2c3884caa1c60ba68ff`,\"data-og-width\":`2230`,width:`2230`,\"data-og-height\":`920`,height:`920`,\"data-path\":`assets/auth/duo-sso-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=3aec1b67ffcd908e98ff8fdc8efb9f13 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6fae9b15acbd20d00ba1342e29c03566 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=2a92b9bd222d601f17445724a5740c4d 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=07e9adea00e0cab9016ad608222894f5 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=78b9eeb4b38c111b8a305442ecf22038 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f3fae806d80ac44e2feb9be6d623c311 2500w`})}),_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`Acesse SSO em Team Settings`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=df8dde8b5b66a27532a3f42cdd803a17`,\"data-og-width\":`1676`,width:`1676`,\"data-og-height\":`1444`,height:`1444`,\"data-path\":`assets/auth/windsurf-sso-team-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=24e65a0584ca92c5092e7a8b39d29a85 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a1aaf95ae69ecadbb071f972cf209d9a 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=8e0faad235bc863532c0cf5e8260d51f 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c1d83d71116443257b524c595132a21d 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=ad30f5f9af3dde7f95666544e8a483ef 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fcf587e6ef653eff95139a4d550e3e08 2500w`})}),_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Ao habilitar o SAML pela primeira vez, será necessário configurar seu SSO ID. `,_jsx(_components.strong,{children:`Você não poderá alterá-lo depois.`})]}),`\n`,_jsx(_components.p,{children:`Recomenda-se defini-lo como o nome da sua organização ou equipe, usando apenas caracteres alfanuméricos.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o valor de `,_jsx(_components.code,{children:`Entity ID`}),` no portal do Duo e cole no campo `,_jsx(_components.code,{children:`IdP Entity ID`}),` no portal do Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o valor de `,_jsx(_components.code,{children:`Single Sign-On URL`}),` no portal do Duo e cole no campo `,_jsx(_components.code,{children:`SSO URL`}),` no portal do Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o valor do certificado no portal do Duo e cole no campo `,_jsx(_components.code,{children:`X509 Certificate`}),` no portal do Windsurf.`]}),`\n`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a7594c846a32e958a1bacfc01c5d3ef3`,\"data-og-width\":`1536`,width:`1536`,\"data-og-height\":`290`,height:`290`,\"data-path\":`assets/auth/duo-sso-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=953a07d45101a639db53f6d22667c2a0 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1fbc8e990bebcbad0cd70f9bce288a8b 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=769ba894b06157867cba16e6c7c9858b 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=0e65532cda4e2039dfe07c02fd55aa52 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=9095538c85e97051654d911b3bb10e91 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f907b2efbe7eaabdaa8aa8c6fb350d86 2500w`})}),_jsxs(_components.ol,{start:`7`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o valor de `,_jsx(_components.code,{children:`SP Identity ID`}),` no portal do Windsurf e cole no campo `,_jsx(_components.code,{children:`Entity ID`}),` no portal do Duo.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o `,_jsx(_components.code,{children:`Callback URL (Assertion Consumer Service URL)`}),` no portal do Windsurf e cole no campo `,_jsx(_components.code,{children:`Assertion Consumer Service (ACS) URL`}),` no portal do Duo.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`No portal do Duo, configure as declarações de atributos da seguinte forma:`}),`\n`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=bb3b514b94a6b0ebba19aa492c8be4a2`,\"data-og-width\":`1676`,width:`1676`,\"data-og-height\":`290`,height:`290`,\"data-path\":`assets/auth/duo-sso-4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a3de0ba0a3a188f34f178c200209cc17 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=88374d6e4f03ce1e45cb3094fe3e98e8 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=d94638ec8d0a22bfa7ec00eb6514ec58 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f1c7e2ae138409c19a56dd12287fdaec 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7cfe010d8214ae7e7b655b5b6efba472 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=769ae9ad721e322e67f6d84bf139a33d 2500w`})}),_jsxs(_components.ol,{start:`10`,children:[`\n`,_jsx(_components.li,{children:`Habilite o login SAML no portal do Windsurf para poder testá-lo.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`ATENÇÃO: NÃO FAÇA LOGOUT NEM FECHE A JANELA NESTE MOMENTO.`})}),_jsx(_components.p,{children:`Se ocorrer um erro ou timeout, ajuste suas configurações; caso contrário, será necessário desabilitar suas configurações de SAML no portal do Windsurf.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Se você fizer logout ou fechar a janela sem confirmar um teste bem-sucedido, poderá ficar sem acesso.`})}),_jsxs(_components.ol,{start:`11`,children:[`\n`,_jsx(_components.li,{children:`Depois que o teste for concluído com sucesso, você pode fazer logout. Agora você pode usar o login por SSO ao acessar a página da sua equipe/organização com o SSO ID configurado na etapa 3.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.a,{href:`https://www.codeium.com/yourssoid/login`,children:`https://www.codeium.com/yourssoid/login`})})]}),_jsxs(Tab,{title:`PingID`,id:`pingid`,\"data-child-heading-ids\":`[\"pr%C3%A9-requisitos-2\",\"configurar-o-pingid-para-o-windsurf\"]`,children:[_jsx(Heading,{level:`2`,id:`pré-requisitos-2`,children:`Pré-requisitos`}),_jsx(_components.p,{children:`Este guia presume que você tem o PingID configurado e atuando como seu IdP organizacional, ou que tem um IdP externo configurado.`}),_jsx(_components.p,{children:`Você precisará de acesso de administrador às contas do PingID e do Windsurf.`}),_jsx(Heading,{level:`2`,id:`configurar-o-pingid-para-o-windsurf`,children:`Configurar o PingID para o Windsurf`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Vá até Applications e adicione o Windsurf como um SAML Application`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f86f6145e0eac599178ca9d9ee66b776`,\"data-og-width\":`2258`,width:`2258`,\"data-og-height\":`1068`,height:`1068`,\"data-path\":`assets/auth/pingid-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=0ad46a1b2741392e7b9317cb469e55ea 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=894534973d6592c29d157db78a542b26 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=cea5d47e23bcff6ef6811358f893533f 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1e2f9e94729c777800b7b9e4dfe32082 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6b7ab758d275aa2b2e63a9c4e01bea62 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=dfb01b08c5fdd2ebe1d9e80e5052426b 2500w`})}),_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`Vá até SSO em Team Settings`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=df8dde8b5b66a27532a3f42cdd803a17`,\"data-og-width\":`1676`,width:`1676`,\"data-og-height\":`1444`,height:`1444`,\"data-path\":`assets/auth/windsurf-sso-team-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=24e65a0584ca92c5092e7a8b39d29a85 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=a1aaf95ae69ecadbb071f972cf209d9a 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=8e0faad235bc863532c0cf5e8260d51f 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c1d83d71116443257b524c595132a21d 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=ad30f5f9af3dde7f95666544e8a483ef 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fcf587e6ef653eff95139a4d550e3e08 2500w`})}),_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[`Ao habilitar o SAML pela primeira vez, será necessário definir seu SSO ID. `,_jsx(_components.strong,{children:`Você não poderá alterá-lo depois.`})]}),`\n`]}),_jsx(_components.p,{children:`Recomenda-se definir o nome da sua organização ou equipe usando apenas caracteres alfanuméricos.`}),_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsx(_components.li,{children:`No PingID, escolha inserir a configuração manualmente e preencha os campos com os seguintes valores:`}),`\n`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`ACS URLs — é o `,_jsx(_components.code,{children:`Callback URL (Assertion Consumer Service URL)`}),` do portal do Windsurf.`]}),`\n`,_jsxs(_components.li,{children:[`Entity ID — é o `,_jsx(_components.code,{children:`SP Entity ID`}),` do portal do Windsurf.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e33dc0b9d021309da0fcdb2ac4f08bbb`,\"data-og-width\":`974`,width:`974`,\"data-og-height\":`672`,height:`672`,\"data-path\":`assets/auth/pingid-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=085f011d0ddf369d9b05502ccbfbb5dc 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=160eebad525ebc56527d0c9e9945492a 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=fccab270df675b3608a5e72afdcda1bc 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=dcab45be60955341f5e47e1746fd36f4 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=6819f76a0f703860f8f53fc486bf696d 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4d1dde99a6c5a62b6c1798f1c694e220 2500w`})}),_jsxs(_components.ol,{start:`5`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o `,_jsx(_components.code,{children:`Issuer ID`}),` do PingID para o campo `,_jsx(_components.code,{children:`IdP Entity ID`}),` no portal do Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copie o valor `,_jsx(_components.code,{children:`Single Signon Service`}),` do PingID para o campo `,_jsx(_components.code,{children:`SSO URL`}),` no portal do Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Baixe o Signing Certificate do PingID como X509 PEM (.crt), abra o arquivo e copie seu conteúdo para o campo `,_jsx(_components.code,{children:`X509 Certificate`}),` no portal do Windsurf.`]}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Observação`}),`: certifique-se de que as linhas de início e fim completas com 5 hifens (-) estejam incluídas e que nenhum outro caractere seja copiado!`]}),_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsx(_components.li,{children:`Em attribute mappings, garanta o mapeamento de:`}),`\n`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`saml_subject`}),` — Email Address`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`firstName`}),` — Given Name`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`lastName`}),` — Family Name`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4ff17f07bfb897072fb68e212ee2ac12`,\"data-og-width\":`1398`,width:`1398`,\"data-og-height\":`780`,height:`780`,\"data-path\":`assets/auth/pingid-4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7af2eb21b83c86fa66ab0a93b744a81a 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c817c9e4a5abbe3827baf40050108679 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=1f4f584e1f6586dadb0632457eb840f1 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=062bae9cd58477962da4f51fb5590bc4 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=efa1fb0cc4d775c8695521195d31949e 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4fe0ba0d6cd6b3eb6796557696e9a08d 2500w`})}),_jsxs(_components.ol,{start:`9`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Adicione/edite quaisquer outras políticas e acessos conforme exigido pela sua configuração/organização.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Habilite o login SAML no portal do Windsurf para poder testá-lo.`}),`\n`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`ATENÇÃO: NÃO FAÇA LOGOUT NEM FECHE A JANELA NESTE MOMENTO.`})}),_jsx(_components.p,{children:`Se ocorrer um erro ou timeout, ajuste suas configurações; caso contrário, será necessário desabilitar suas configurações de SAML no portal do Windsurf.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Se você fizer logout ou fechar a janela sem confirmar um teste bem-sucedido, poderá ficar sem acesso.`})}),_jsxs(_components.ol,{start:`11`,children:[`\n`,_jsx(_components.li,{children:`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 SSO ID configurado na etapa 3.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.a,{href:`https://www.codeium.com/yourssoid/login`,children:`https://www.codeium.com/yourssoid/login`})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Configurando SSO e SCIM","sidebarTitle":"SSO e SCIM","description":"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.","keywords":["SSO","SCIM","single sign-on","Okta","Azure AD","Google SSO","SAML","provedor de identidade","autenticação","provisionamento","Enterprise","Teams"],"href":"/pt-BR/windsurf/accounts/sso-scim"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configurar o aplicativo do IDP","slug":"configurar-o-aplicativo-do-idp","depth":3,"children":[],"tabId":"sso-single-sign-on-do-google"},{"title":"Parte 1: Criar aplicativo Enterprise no Microsoft Entra ID","slug":"parte-1-criar-aplicativo-enterprise-no-microsoft-entra-id","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Parte 2: Configurar SAML e atributos de usuário no Microsoft Entra ID","slug":"parte-2-configurar-saml-e-atributos-de-usuário-no-microsoft-entra-id","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Parte 3: Configurar as configurações de SSO no portal do Windsurf","slug":"parte-3-configurar-as-configurações-de-sso-no-portal-do-windsurf","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Configurar o aplicativo do IdP","slug":"configurar-o-aplicativo-do-idp-2","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"},{"title":"Registrar o Okta como um provedor SAML","slug":"registrar-o-okta-como-um-provedor-saml","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"},{"title":"Observações","slug":"observações","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"},{"title":"Solução de problemas","slug":"solução-de-problemas","depth":1,"children":[{"title":"Login com configuração SAML falhou: Firebase: Error (auth/operation-not-allowed)","slug":"login-com-configuração-saml-falhou-firebase-error-auth/operation-not-allowed","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"},{"title":"Login com configuração SAML falhou: Firebase: SAML Response \u003cIssuer> mismatch. (auth/invalid-credential)","slug":"login-com-configuração-saml-falhou-firebase-saml-response-\u003cissuer>-mismatch-auth/invalid-credential","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"},{"title":"Falha ao verificar a assinatura em samlresponse","slug":"falha-ao-verificar-a-assinatura-em-samlresponse","depth":3,"children":[],"tabId":"sso-single-sign-on-do-okta"}],"tabId":"sso-single-sign-on-do-okta"},{"title":"Passo 1: Criar uma Função com Permissões SCIM","slug":"passo-1-criar-uma-função-com-permissões-scim","depth":2,"children":[],"tabId":"azure-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Passo 2: Navegue até o aplicativo Windsurf existente","slug":"passo-2-navegue-até-o-aplicativo-windsurf-existente","depth":2,"children":[],"tabId":"azure-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Passo 3: Configurar provisionamento SCIM","slug":"passo-3-configurar-provisionamento-scim","depth":2,"children":[],"tabId":"azure-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Passo 4: Configurar o Provisionamento SCIM","slug":"passo-4-configurar-o-provisionamento-scim","depth":2,"children":[],"tabId":"azure-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Etapa 1: Navegue até o aplicativo Windsurf existente","slug":"etapa-1-navegue-até-o-aplicativo-windsurf-existente","depth":2,"children":[],"tabId":"okta-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Etapa 2: Habilite o provisionamento SCIM","slug":"etapa-2-habilite-o-provisionamento-scim","depth":2,"children":[],"tabId":"okta-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Etapa 3: Configure o provisionamento","slug":"etapa-3-configure-o-provisionamento","depth":2,"children":[],"tabId":"okta-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Etapa 4: Configure o provisionamento de grupos (opcional)","slug":"etapa-4-configure-o-provisionamento-de-grupos-opcional","depth":2,"children":[],"tabId":"okta-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Criar Grupo","slug":"criar-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Adicionar Membros do Grupo","slug":"adicionar-membros-do-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Substituir Membros do Grupo","slug":"substituir-membros-do-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Excluir Grupo","slug":"excluir-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Listar Grupo","slug":"listar-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Listar Usuários de um Grupo","slug":"listar-usuários-de-um-grupo","depth":3,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"APIs do Usuário","slug":"apis-do-usuário","depth":2,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Criando Chave Secreta da API","slug":"criando-chave-secreta-da-api","depth":2,"children":[],"tabId":"api-do-scim-system-for-cross-domain-identity-management-%E2%80%94-padr%C3%A3o-para-provisionamento-de-identidades-de-usu%C3%A1rios-e-grupos"},{"title":"Pré-requisitos","slug":"pré-requisitos","depth":2,"children":[],"tabId":"duo"},{"title":"Configurar o Duo para o Windsurf","slug":"configurar-o-duo-para-o-windsurf","depth":2,"children":[],"tabId":"duo"},{"title":"Pré-requisitos","slug":"pré-requisitos-2","depth":2,"children":[],"tabId":"pingid"},{"title":"Configurar o PingID para o Windsurf","slug":"configurar-o-pingid-para-o-windsurf","depth":2,"children":[],"tabId":"pingid"}],"codeExamples":{}},"jsLinks":[],"subdomain":"codeium","siteName":"Windsurf Docs","title":"Configurando SSO e SCIM - Windsurf Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/windsurf/accounts/sso-scim","matchLevel":1},"fr":{"href":"/fr/windsurf/accounts/sso-scim","matchLevel":1},"es":{"href":"/es/windsurf/accounts/sso-scim","matchLevel":1},"de":{"href":"/de/windsurf/accounts/sso-scim","matchLevel":1},"pt-BR":{"href":"/pt-BR/windsurf/accounts/sso-scim","matchLevel":0},"zh":{"href":"/zh/windsurf/accounts/sso-scim","matchLevel":1},"ja":{"href":"/ja/windsurf/accounts/sso-scim","matchLevel":1},"ro":{"href":"/ro/windsurf/accounts/sso-scim","matchLevel":1}}},"lastModified":"2026-03-09T16:57:17.967Z","originalFileLocation":"pt-BR/windsurf/accounts/sso-scim.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Windsurf Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Configurando SSO e SCIM - Windsurf Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Docs for Windsurf (formerly Codeium): your modern coding superpowers.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Windsurf Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://exafunction.github.io/public/hero/thumbnail_docs.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Configurando SSO e SCIM - Windsurf Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Docs for Windsurf (formerly Codeium): your modern coding superpowers.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://exafunction.github.io/public/hero/thumbnail_docs.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/codeium/fpJcfiGfVrP-tNfE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Windsurf Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#34E8BB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-BR/windsurf/accounts/sso-scim.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.windsurf.com/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.windsurf.com/fr/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.windsurf.com/de/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.windsurf.com/zh/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.windsurf.com/ja/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ro\" href=\"https://docs.windsurf.com/ro/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.windsurf.com/windsurf/accounts/sso-scim\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.windsurf.com/#organization\",\"name\":\"Windsurf Docs\",\"url\":\"https://docs.windsurf.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/codeium/Hr_wKmLaXZaiQOb6/assets/windsurf-black-logo.svg?fit=max\u0026auto=format\u0026n=Hr_wKmLaXZaiQOb6\u0026q=85\u0026s=9d8592a768328271378364064a81840f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.windsurf.com#website\",\"name\":\"Windsurf Docs\",\"url\":\"https://docs.windsurf.com\",\"publisher\":{\"@id\":\"https://docs.windsurf.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim#webpage\",\"url\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\",\"name\":\"Configurando SSO e SCIM\",\"description\":\"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.\",\"dateModified\":\"2026-03-09T16:57:17.967Z\",\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contas\",\"item\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teams e Enterprise\",\"item\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/teams-getting-started\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Configurando SSO e SCIM\",\"item\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim#article\",\"headline\":\"Configurando SSO e SCIM\",\"name\":\"Configurando SSO e SCIM\",\"description\":\"Configure o Single Sign-On (SSO) e o provisionamento por meio de SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.\",\"url\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\",\"mainEntityOfPage\":{\"@id\":\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim#webpage\"},\"image\":\"https://exafunction.github.io/public/hero/thumbnail_docs.png\",\"dateModified\":\"2026-03-09T16:57:17.967Z\",\"keywords\":\"SSO, SCIM, single sign-on, Okta, Azure AD, Google SSO, SAML, provedor de identidade, autenticação, provisionamento, Enterprise, Teams\",\"publisher\":{\"@id\":\"https://docs.windsurf.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"}}]}\u003c/script>","agentPointerHref":"/pt-BR/windsurf/accounts/sso-scim.md","siteName":"Windsurf Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/windsurf/accounts/sso-scim"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/windsurf/accounts/sso-scim"}]},{"language":"es","pages":[{"title":"es","href":"/es/windsurf/accounts/sso-scim"}]},{"language":"de","pages":[{"title":"de","href":"/de/windsurf/accounts/sso-scim"}]},{"language":"pt-BR","tabs":[{"tab":"Windsurf","groups":[{"group":"Editor","pages":[{"group":"Primeiros passos","pages":[{"title":"Bem-vindo ao Windsurf","sidebarTitle":"Configuração","href":"/pt-BR/windsurf/getting-started"},{"group":"Extensões recomendadas","pages":[{"title":"Extensões recomendadas","href":"/pt-BR/windsurf/recommended-extensions"},{"title":"C#, .NET e CPP","href":"/pt-BR/windsurf/csharp-cpp"}]}]},{"title":"Modelos de IA","sidebarTitle":"Modelos","href":"/pt-BR/windsurf/models"},{"title":"Windsurf Tab","sidebarTitle":"Tab","href":"/pt-BR/tab/overview"},{"title":"Command","sidebarTitle":"Command","href":"/pt-BR/command/windsurf-overview"},{"title":"Code Lenses","href":"/pt-BR/command/windsurf-related-features"},{"title":"Terminal","sidebarTitle":"Terminal","href":"/pt-BR/windsurf/terminal"},{"title":"Windsurf Previews","sidebarTitle":"Previews no navegador","href":"/pt-BR/windsurf/previews"},{"title":"Mensagens de commit com IA","href":"/pt-BR/windsurf/ai-commit-message"},{"title":"DeepWiki","sidebarTitle":"DeepWiki","href":"/pt-BR/windsurf/deepwiki"},{"title":"Codemaps","href":"/pt-BR/windsurf/codemaps"},{"title":"Vibe and Replace","sidebarTitle":"Vibe and Replace","href":"/pt-BR/windsurf/vibe-and-replace"},{"title":"Configuração Avançada","sidebarTitle":"Avançado","href":"/pt-BR/windsurf/advanced"}]},{"group":"Cascade","pages":[{"title":"Visão geral do Cascade","sidebarTitle":"Visão geral","href":"/pt-BR/windsurf/cascade/cascade"},{"title":"Modo Arena","sidebarTitle":"Modo Arena","href":"/pt-BR/windsurf/cascade/arena"},{"title":"Modos do Cascade","sidebarTitle":"Modos","href":"/pt-BR/windsurf/cascade/modes"},{"title":"Implantações de aplicativos","href":"/pt-BR/windsurf/cascade/app-deploys"},{"title":"Pesquisa na Web e em Documentação","href":"/pt-BR/windsurf/cascade/web-search"},{"title":"Memories \u0026 Rules","href":"/pt-BR/windsurf/cascade/memories"},{"title":"Skills","href":"/pt-BR/windsurf/cascade/skills"},{"title":"AGENTS.md","sidebarTitle":"AGENTS.md","href":"/pt-BR/windsurf/cascade/agents-md"},{"title":"Workflows","sidebarTitle":"Workflows","href":"/pt-BR/windsurf/cascade/workflows"},{"title":"Worktrees","sidebarTitle":"Worktrees","href":"/pt-BR/windsurf/cascade/worktrees"},{"title":"Model Context Protocol (MCP)","href":"/pt-BR/windsurf/cascade/mcp"},{"title":"Hooks do Cascade","href":"/pt-BR/windsurf/cascade/hooks"}]},{"group":"Contas","pages":[{"title":"Planos e uso de créditos","sidebarTitle":"Uso","href":"/pt-BR/windsurf/accounts/usage"},{"title":"Analytics","href":"/pt-BR/windsurf/accounts/analytics"},{"group":"Teams e Enterprise","pages":[{"group":"Primeiros passos","pages":[{"title":"Introdução ao Teams e Enterprise","sidebarTitle":"Introdução","href":"/pt-BR/windsurf/accounts/teams-getting-started"},{"title":"Guia para administradores","href":"/pt-BR/windsurf/guide-for-admins"}]},{"title":"Gerenciamento e Controle de Acesso Baseado em Funções","sidebarTitle":"Acesso Baseado em Funções","href":"/pt-BR/windsurf/accounts/rbac-role-management"},{"group":"Referência da API","pages":[{"title":"Referência da API","href":"/pt-BR/windsurf/accounts/api-reference/api-introduction"},{"group":"Analytics API","pages":[{"title":"Analytics API","href":"/pt-BR/windsurf/accounts/api-reference/analytics-api-introduction"},{"title":"Obter Analytics da página do usuário","api":"POST https://server.codeium.com/api/v1/UserPageAnalytics","href":"/pt-BR/windsurf/accounts/api-reference/user-page-analytics"},{"title":"Obter Analytics do Cascade","api":"POST https://server.codeium.com/api/v1/CascadeAnalytics","href":"/pt-BR/windsurf/accounts/api-reference/cascade-analytics"},{"title":"Consulta personalizada do Analytics","api":"POST https://server.codeium.com/api/v1/Analytics","href":"/pt-BR/windsurf/accounts/api-reference/custom-analytics"},{"title":"Tratamento de erros","href":"/pt-BR/windsurf/accounts/api-reference/errors"}]},{"group":"API de utilização","pages":[{"title":"Definir configuração de uso","api":"POST https://server.codeium.com/api/v1/UsageConfig","href":"/pt-BR/windsurf/accounts/api-reference/usage-config"},{"title":"Obter configuração de uso","api":"POST https://server.codeium.com/api/v1/GetUsageConfig","href":"/pt-BR/windsurf/accounts/api-reference/get-usage-config"},{"title":"Obter saldo de créditos da equipe","api":"POST https://server.codeium.com/api/v1/GetTeamCreditBalance","description":"Obtenha o saldo atual de créditos da sua equipe, incluindo créditos de prompt por licença, créditos de add-on e informações do ciclo de cobrança.","href":"/pt-BR/windsurf/accounts/api-reference/get-team-credit-balance"}]}]},{"title":"Configurando SSO e SCIM","sidebarTitle":"SSO e SCIM","href":"/pt-BR/windsurf/accounts/sso-scim"},{"title":"Verificação de domínio","sidebarTitle":"Verificação de domínio","description":"Verifique a propriedade do domínio da sua organização com registros DNS TXT para ativar SSO, gerenciamento de usuários e convites automáticos para equipes no Windsurf.","href":"/pt-BR/windsurf/accounts/domain-verification"}]}]},{"group":"Consciência de contexto","pages":[{"title":"Consciência de contexto do Windsurf","sidebarTitle":"Visão geral","href":"/pt-BR/context-awareness/windsurf-overview"},{"title":"Fast Context","href":"/pt-BR/context-awareness/fast-context"},{"title":"Windsurf Ignore","href":"/pt-BR/context-awareness/windsurf-ignore"}]},{"group":"Resolução de problemas","pages":[{"title":"Problemas comuns no Windsurf","sidebarTitle":"Problemas comuns","href":"/pt-BR/troubleshooting/windsurf-common-issues"},{"title":"Configuração de proxy no Windsurf Editor","sidebarTitle":"Configuração de proxy","href":"/pt-BR/troubleshooting/windsurf-proxy-configuration"},{"title":"Problemas de Inspeção TLS / SSL no Windsurf","sidebarTitle":"Inspeção SSL","href":"/pt-BR/troubleshooting/windsurf-ssl-inspection"},{"title":"Language Server falha com 'No Space Left on Device' no Linux","sidebarTitle":"Limites de inotify no Linux","href":"/pt-BR/troubleshooting/windsurf-inotify-limits"},{"title":"Problemas Conhecidos do WSL","sidebarTitle":"Problemas do WSL","href":"/pt-BR/troubleshooting/windsurf-wsl-performance"},{"title":"Coleta de logs do Windsurf","sidebarTitle":"Coleta de logs","href":"/pt-BR/troubleshooting/windsurf-gathering-logs"}]},{"group":"Segurança","pages":[{"title":"Guia de Administração de Segurança FedRAMP","sidebarTitle":"Guia de Administração de Segurança FedRAMP","href":"/pt-BR/security/security-admin-guide"},{"title":"Como reportar preocupações de segurança","sidebarTitle":"Reportar","href":"/pt-BR/security/reporting"}]}]},{"tab":"Windsurf Plugins","pages":[{"title":"Windsurf Plugins","href":"/pt-BR/plugins/getting-started"}]}],"global":{"anchors":[{"anchor":"Comunidade no Discord","icon":"discord","href":"https://discord.com/invite/3XFf78nAx5"},{"anchor":"Blog da Windsurf","icon":"newspaper","href":"https://windsurf.com/blog"},{"anchor":"Suporte","icon":"bug","href":"https://windsurf.com/support"}]}},{"language":"zh","pages":[{"title":"zh","href":"/zh/windsurf/accounts/sso-scim"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/windsurf/accounts/sso-scim"}]},{"language":"ro","pages":[{"title":"ro","href":"/ro/windsurf/accounts/sso-scim"}]}]},"basePath":"","title":"Configurando SSO e SCIM - Windsurf Docs","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-vIkpUzVS.js","DynamicMarkdown-TAXIW2vN.js","zoom-image-lightbox-y00V8U6G.js","lightbox-handle-r17bVUz3.js"]}