Configure Single Sign-On (SSO) e provisionamento via SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.
Este recurso está disponível somente para usuários dos planos Teams e Enterprise.
SSO (Single Sign-On) do Google
Microsoft Entra ID
SSO (Single Sign-On) da 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 autenticação com SSO (Single Sign-On) via SAML. Se a 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.
Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
No Console do administrador do Google (admin.google.com), clique em Apps -> Web and mobile apps no menu à esquerda.
Clique em Add app e, em seguida, em Add custom SAML app.
Preencha App name com Windsurf e clique em Next.A próxima tela (Google Identity Provider details) no 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 a SSO URL do console do Google para as configurações do Windsurf em SSO URL
Copie o Entity ID do console do Google para as configurações do Windsurf em IdP Entity ID
Copie o Certificate do console do Google para as configurações do Windsurf em X509 Certificate
Clique em Continue no console do Google
A próxima tela no console do Google exige que você copie dados da página de configurações do Codeium
Copie a Callback URL da página de configurações do Codeium para o console do Google em ACS URL
Copie o SP Entity ID da página de configurações do Codeium para o console do Google em SP Entity ID
Altere o formato de Name ID para EMAIL
Clique em Continue no console do Google
A próxima tela no console do Google requer algumas configurações
Clique em Add Mapping, selecione First name e defina App attributes como firstName
Clique em Add Mapping, selecione Last name e defina App attributes como lastName
Clique em Finish
Na página de configurações do Codeium, clique em Enable Login with SAML e, em seguida, clique em Save. Não deixe de clicar em Test Login para garantir que o login funcione conforme o esperado. Agora todos os usuários terão o login por SSO obrigatório.
Windsurf Enterprise agora oferece suporte a login com SSO (Single Sign-On) via SAML. Se sua organização usa Microsoft Entra ID (antigo Azure AD), você poderá usar SSO com o Windsurf.
Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
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
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 o conteúdo de texto aqui
No Windsurf portal, clique em Enable Login with SAML e depois em Save.
Teste a configuração: Clique em Test Login para verificar se a configuração de SSO está funcionando conforme o esperado.
Importante: Não faça logout nem feche a página de configurações do Windsurf até testar o login com sucesso. Se o teste falhar, pode ser necessário solucionar problemas na configuração antes de prosseguir.
Windsurf Enterprise agora oferece suporte a autenticação com Single Sign-On (SSO) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspaces 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 é compatível no momento.
Você deve ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, use as informações desta página para preencher as configurações de SSO do Windsurf.
Copie o texto após “Issuer” na página do aplicativo da Okta e cole em IdP Entity ID
Copie o texto após “Sign on URL” na página do aplicativo da 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.Você deve compartilhar a URL personalizada do Login Portal da sua organização com os usuários e pedir que acessem por esse link.
Usuários que acessarem o Windsurf via SSO serão aprovados automaticamente na equipe.
Login com configuração SAML falhou: Firebase: Error (auth/operation-not-allowed)
Isso indica um ID de SSO inválido ou uma SSO URL incorreta. Verifique se ela é alfanumérica e não contém 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 da Okta, sem caracteres extras ou espaços antes ou depois da string.
Windsurf oferece sincronização SCIM 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 isso é altamente recomendado.Você vai precisar de:
Acesso de administrador ao Microsoft Entra ID / Azure AD
Acesso de administrador ao Windsurf
Um aplicativo Windsurf já existente no Entra ID (normalmente o do seu aplicativo de SSO existente)
Acesse o Microsoft Entra ID no Azure, clique em Enterprise applications na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista.
Clique em Get started em Provision User Accounts no meio (etapa 3) e depois clique novamente em Get started.
Na página de configuração de Provisioning, selecione as seguintes opções.Provisioning Mode: AutomaticAdmin Credentials > Tenant URL: https://server.codeium.com/scim/v2Deixe a página de provisionamento do Azure aberta; agora vá para o portal web do Windsurf e clique no ícone de perfil na NavBar na parte superior da página. Em Team Settings, selecione Service Key e clique em Add Service Key. Insira qualquer nome para a chave (por exemplo, “Azure Provisioning Key”) e clique em Create Service Key. Copie a chave gerada, volte para a página do Azure e cole em Secret Token.
(O que você deverá ver após criar a chave no Windsurf)Na página de Provisioning, clique em Test Connection para verificar a conexão SCIM.Agora, acima do formulário de Provisioning, clique em Save.
Após clicar em Save, uma nova opção Mappings deverá aparecer na página de Provisioning. Expanda Mappings e clique em Provision Microsoft Entra ID Users.
Em attribute Mappings, exclua todos os campos em displayName, deixando apenas os campos userName, active e displayName.
Para active, clique agora 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 Attribute Mapping, clique em Save no topo e volte para a página Provisioning.Agora, na mesma página, em Mappings, clique em Provision Microsoft Entra ID Groups. Em seguida, exclua apenas externalId (clique em delete) e clique em Save no topo. Volte para a página Provisioning.
Na página Provisioning, na parte inferior, também deve haver um toggle de Provisioning Status. Defina como On para habilitar a sincronização via 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 via SCIM. Somente usuários e grupos atribuídos ao aplicativo serão sincronizados com o Windsurf. Observe que remover usuários apenas desabilita o acesso deles ao Windsurf (e impede que ocupem uma licença), em vez de excluir usuários, devido ao design do 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 isso é altamente recomendado.Você precisará de:
Acesso de administrador ao Okta
Acesso de administrador ao Windsurf
Um aplicativo Windsurf já existente no Okta (normalmente 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.
Na aba General, App Settings, clique em Edit no canto superior direito. Marque a caixa de seleção ‘Enable SCIM Provisioning’ e, em seguida, clique em Save. Uma nova aba de Provisioning deve ter aparecido no topo.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
Na aba Provisioning, à esquerda devem aparecer duas novas abas. Clique em To App e em Edit Provisioning to App. Marque as caixas de seleção para 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: Configurar o Provisionamento de Grupos (Opcional)
Para sincronizar grupos com o Windsurf, você precisará especificar quais grupos enviar. No aplicativo, clique na aba Push Groups no topo. Agora clique em + Push Groups -> Find Groups by name. Filtre pelo grupo que você deseja adicionar, certifique-se de que Push group memberships immediately esteja marcado e clique em Save. O grupo será criado e os membros do grupo serão sincronizados com o Windsurf. Os grupos podem então ser usados para filtrar analytics de grupo na página de Analytics.
Este guia mostra como criar e manter grupos no Windsurf com a API SCIM.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.
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 (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) ou criando a conta manualmente) antes que possam ser adicionados a um grupo.
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 Service Key Configuration, clique em Configure e depois em Add Service Key. Insira qualquer nome para a chave (como ‘Azure Provisioning Key’) e clique em Create Service Key. Copie a chave gerada e salve-a. Agora você pode usar a chave para autorizar as APIs mencionadas acima.
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 às contas do Duo e do 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 atributo conforme a seguir:
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 tempo limite, 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 via SSO ao acessar a página da sua equipe/organização com o SSO ID configurado na etapa 3.
Este guia pressupõe que você tenha o PingID configurado e atuando como seu IdP organizacional, ou que tenha um IdP externo configurado.Você precisará de acesso de administrador às contas do PingID e do Windsurf.
Acesse Applications e adicione o Windsurf como um SAML Application
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.
No PingID, escolha inserir a configuração manualmente e preencha os campos com os seguintes valores:
ACS URLs — este é o Callback URL (Assertion Consumer Service URL) do portal do Windsurf.
Entity ID — este é o SP Entity ID do portal do Windsurf.
Copie o Issuer ID do PingID para o valor IdP Entity ID no portal do Windsurf.
Copie o valor Single Signon Service do PingID para o valor 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 tenham 5 hifens (-) e que nenhum outro caractere seja copiado!
Em attribute mappings, certifique-se de mapear:
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 que você possa 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 bloqueado.
Depois que o teste for concluído com sucesso, você pode fazer logout. Agora você pode usar o login via 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.4124","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/plugins/accounts/sso-scim","slug":"/pt-BR/plugins/accounts/sso-scim","pageMetadata":{"title":"Configurando SSO \u0026 SCIM","sidebarTitle":"SSO \u0026 SCIM","description":"Configure Single Sign-On (SSO) e provisionamento via 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","identity provider","authentication","provisioning","enterprise","teams"],"href":"/pt-BR/plugins/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 Single Sign-On (SSO) e provisionamento via 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(_components.p,{children:`Este recurso está disponível somente para usuários dos planos Teams e Enterprise.`}),`\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-aplicativo-do-idp\"]`,children:[_jsx(_components.p,{children:`Windsurf agora oferece suporte a autenticação com SSO (Single Sign-On) via SAML. Se a 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:`Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.`}),_jsx(Heading,{level:`3`,id:`configurar-aplicativo-do-idp`,children:`Configurar aplicativo do IdP`}),_jsxs(_components.p,{children:[`No Console do administrador 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, em `,_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) no 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 a `,_jsx(_components.strong,{children:`SSO URL`}),` 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`}),` 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`}),` 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`}),` no console do Google`]}),`\n`]}),_jsx(_components.p,{children:`A próxima tela no 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 a `,_jsx(_components.strong,{children:`Callback URL`}),` da página de configurações do Codeium para o 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 o console do Google em `,_jsx(_components.strong,{children:`SP Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Altere o formato de `,_jsx(_components.strong,{children:`Name ID`}),` para `,_jsx(_components.strong,{children:`EMAIL`})]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Continue`}),` no console do Google`]}),`\n`]}),_jsx(_components.p,{children:`A próxima tela no console do Google requer algumas configurações`}),_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, em seguida, clique em `,_jsx(_components.strong,{children:`Save`}),`. Não deixe de clicar em `,_jsx(_components.strong,{children:`Test Login`}),` para garantir que o login funcione conforme o 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-o-sso-no-portal-do-windsurf\"]`,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 ID (antigo Azure AD), 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 é 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 o aplicativo `,_jsx(_components.strong,{children:`Windsurf`}),`, selecione `,_jsx(_components.em,{children:`Integrate any other application you don’t find in the gallery`}),` e 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 novo aplicativo Windsurf, clique em `,_jsx(_components.strong,{children:`Set up single sign on`}),` e depois 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:`Windsurf Teams SSO settings`}),` 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:`Windsurf SSO settings page`})]}),`\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:`Windsurf SSO settings page`})]}),`\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 a 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 (claims) 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 claim`}),`: Name = `,_jsx(_components.code,{children:`firstName`}),`, Source attribute = `,_jsx(_components.code,{children:`user.givenname`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Segunda claim`}),`: 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-o-sso-no-portal-do-windsurf`,children:`Parte 3: Configurar o SSO no portal do Windsurf`}),_jsxs(Note,{children:[`Conclua a configuração no `,_jsx(_components.strong,{children:`Windsurf portal`}),` (`,_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:`Windsurf SSO settings page`}),`:`]}),`\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(_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 o conteúdo de texto aqui`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`No `,_jsx(_components.strong,{children:`Windsurf portal`}),`, clique em `,_jsx(_components.strong,{children:`Enable Login with SAML`}),` e depois 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 o esperado.`]}),`\n`]}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.strong,{children:`Importante`}),`: Não faça logout nem feche a página de configurações do Windsurf até testar o login com sucesso. Se o teste falhar, pode ser necessário solucionar problemas na configuração antes de prosseguir.`]})]}),_jsxs(Tab,{title:`SSO (Single Sign-On) da Okta`,id:`sso-single-sign-on-da-okta`,\"data-child-heading-ids\":`[\"configurar-o-aplicativo-do-idp\",\"registrar-o-okta-como-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 autenticação com Single Sign-On (SSO) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspaces 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 é compatível no momento.`}),_jsx(Heading,{level:`3`,id:`configurar-o-aplicativo-do-idp`,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 autenticação`}),_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 aplicativo como Windsurf (ou qualquer outro nome) e clique em Next`}),_jsx(_components.p,{children:`Configure as definições 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 conforme a seguir e, em seguida, 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-provedor-saml`,children:`Registrar o Okta como provedor SAML`}),_jsx(_components.p,{children:`Você deve ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, use as informações desta página para preencher as 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 da 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 da 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:`Você deve compartilhar a URL personalizada do Login Portal da sua organização com os usuários e pedir 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 acessarem o 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 uma SSO URL incorreta. Verifique se ela é alfanumérica e não contém 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 da 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\":`[\"etapa-1%3A-acesse-o-aplicativo-windsurf-existente\",\"etapa-2%3A-configure-o-provisionamento-scim\",\"etapa-3%3A-configure-o-provisionamento-scim\"]`,children:[_jsx(_components.p,{children:`Windsurf oferece sincronização SCIM 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 isso é 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 Windsurf já existente no Entra ID (normalmente o do seu aplicativo de SSO existente)`}),`\n`]}),_jsx(Heading,{level:`2`,id:`etapa-1-acesse-o-aplicativo-windsurf-existente`,children:`Etapa 1: Acesse o aplicativo Windsurf existente`}),_jsx(_components.p,{children:`Acesse o Microsoft Entra ID no Azure, clique em Enterprise applications 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:`etapa-2-configure-o-provisionamento-scim`,children:`Etapa 2: Configure o provisionamento SCIM`}),_jsx(_components.p,{children:`Clique em Get started em Provision User Accounts no meio (etapa 3) e depois clique novamente em Get started.`}),_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 Provisioning, selecione as seguintes opções.`}),_jsx(_components.p,{children:`Provisioning Mode: Automatic`}),_jsxs(_components.p,{children:[`Admin Credentials > Tenant URL: `,_jsx(_components.a,{href:`https://server.codeium.com/scim/v2`,children:`https://server.codeium.com/scim/v2`})]}),_jsx(_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 na parte superior da página. Em Team Settings, selecione Service Key e clique em Add Service Key. Insira qualquer nome para a chave (por exemplo, “Azure Provisioning Key”) e clique em Create Service Key. Copie a chave gerada, volte para a página do Azure e cole em Secret Token.`}),_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ê deverá ver após criar a chave no Windsurf)`}),_jsx(_components.p,{children:`Na página de Provisioning, clique em Test Connection para verificar a conexão SCIM.`}),_jsx(_components.p,{children:`Agora, acima do formulário de Provisioning, clique em Save.`}),_jsx(Heading,{level:`2`,id:`etapa-3-configure-o-provisionamento-scim`,children:`Etapa 3: Configure o provisionamento SCIM`}),_jsx(_components.p,{children:`Após clicar em Save, uma nova opção Mappings deverá aparecer 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 attribute Mappings, exclua todos os campos em 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, clique agora 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 Attribute Mapping, clique em Save no topo e volte para a página Provisioning.`}),_jsx(_components.p,{children:`Agora, na mesma página, em Mappings, clique em Provision Microsoft Entra ID Groups. Em seguida, exclua apenas externalId (clique em delete) e clique em Save no topo. Volte para a página 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 Provisioning, na parte inferior, também deve haver um toggle de Provisioning Status. Defina como On para habilitar a sincronização via 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 via SCIM. Somente usuários e grupos atribuídos ao aplicativo serão sincronizados com o Windsurf. Observe que remover usuários apenas desabilita o acesso deles ao Windsurf (e impede que ocupem uma licença), em vez de excluir usuários, devido ao design do 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-configurar-o-provisionamento\",\"etapa-4%3A-configurar-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 isso é altamente recomendado.`}),_jsx(_components.p,{children:`Você 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á existente no Okta (normalmente 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 aba General, App Settings, clique em Edit no canto superior direito. Marque a caixa de seleção ‘Enable SCIM Provisioning’ e, em seguida, clique em Save. Uma nova aba de Provisioning deve ter aparecido no topo.`}),_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 Other Settings e encontre Service Key Configuration`]}),`\n`,_jsx(_components.li,{children:`Clique em Add Service Key e dê um nome à sua chave`}),`\n`,_jsx(_components.li,{children:`Copie a API key, volte ao 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-configurar-o-provisionamento`,children:`Etapa 3: Configurar o Provisionamento`}),_jsx(_components.p,{children:`Na aba Provisioning, à esquerda devem aparecer duas novas abas. Clique em To App e em Edit Provisioning to App. Marque as caixas de seleção para 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-configurar-o-provisionamento-de-grupos-opcional`,children:`Etapa 4: Configurar o Provisionamento de Grupos (Opcional)`}),_jsx(_components.p,{children:`Para sincronizar grupos com o Windsurf, você precisará especificar quais grupos enviar. No aplicativo, clique na aba Push Groups no topo. Agora clique em + Push Groups -> Find Groups by name. Filtre pelo grupo que você deseja adicionar, certifique-se de que Push group memberships immediately esteja marcado e clique em Save. O grupo será criado e os membros do grupo serão sincronizados com o Windsurf. Os grupos podem então ser usados para filtrar analytics 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 manter grupos no Windsurf com a API SCIM.`}),_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 (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) 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\": \"\u003cnew name>\"`})}),`\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 Service Key Configuration, clique em Configure e depois em Add Service Key. Insira qualquer nome para a chave (como ‘Azure Provisioning Key’) e clique em Create Service Key. Copie a chave gerada 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 às contas do Duo e 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 atributo conforme a seguir:`}),`\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 tempo limite, 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 via 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 pressupõe que você tenha o PingID configurado e atuando como seu IdP organizacional, ou que tenha 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:`Acesse 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:`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:[`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.`}),_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 — este é o `,_jsx(_components.code,{children:`Callback URL (Assertion Consumer Service URL)`}),` do portal do Windsurf.`]}),`\n`,_jsxs(_components.li,{children:[`Entity ID — este é 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 valor `,_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 valor `,_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 tenham 5 hifens (-) e que nenhum outro caractere seja copiado!`]}),_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsx(_components.li,{children:`Em attribute mappings, certifique-se de mapear:`}),`\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 que você possa 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 bloqueado.`})}),_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 via 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 \u0026 SCIM","sidebarTitle":"SSO \u0026 SCIM","description":"Configure Single Sign-On (SSO) e provisionamento via 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","identity provider","authentication","provisioning","enterprise","teams"],"href":"/pt-BR/plugins/accounts/sso-scim"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configurar aplicativo do IdP","slug":"configurar-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 o SSO no portal do Windsurf","slug":"parte-3-configurar-o-sso-no-portal-do-windsurf","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Configurar o aplicativo do IdP","slug":"configurar-o-aplicativo-do-idp","depth":3,"children":[],"tabId":"sso-single-sign-on-da-okta"},{"title":"Registrar o Okta como provedor SAML","slug":"registrar-o-okta-como-provedor-saml","depth":3,"children":[],"tabId":"sso-single-sign-on-da-okta"},{"title":"Observações","slug":"observações","depth":3,"children":[],"tabId":"sso-single-sign-on-da-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-da-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-da-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-da-okta"}],"tabId":"sso-single-sign-on-da-okta"},{"title":"Etapa 1: Acesse o aplicativo Windsurf existente","slug":"etapa-1-acesse-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":"Etapa 2: Configure o provisionamento SCIM","slug":"etapa-2-configure-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 3: Configure o provisionamento SCIM","slug":"etapa-3-configure-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: Configurar o Provisionamento","slug":"etapa-3-configurar-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: Configurar o Provisionamento de Grupos (Opcional)","slug":"etapa-4-configurar-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 \u0026 SCIM - Windsurf Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/plugins/accounts/sso-scim","matchLevel":1},"fr":{"href":"/fr/plugins/accounts/sso-scim","matchLevel":1},"es":{"href":"/es/plugins/accounts/sso-scim","matchLevel":1},"de":{"href":"/de/plugins/accounts/sso-scim","matchLevel":1},"pt-BR":{"href":"/pt-BR/plugins/accounts/sso-scim","matchLevel":0},"zh":{"href":"/zh/plugins/accounts/sso-scim","matchLevel":1},"ja":{"href":"/ja/plugins/accounts/sso-scim","matchLevel":1},"ro":{"href":"/ro/plugins/accounts/sso-scim","matchLevel":1}}},"lastModified":"2026-03-09T16:57:08.547Z","originalFileLocation":"pt-BR/plugins/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 Single Sign-On (SSO) e provisionamento via 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 \u0026amp; 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/plugins/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 \u0026amp; 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/plugins/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/plugins/accounts/sso-scim.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.windsurf.com/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.windsurf.com/fr/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.windsurf.com/es/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.windsurf.com/de/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.windsurf.com/zh/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.windsurf.com/ja/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ro\" href=\"https://docs.windsurf.com/ro/plugins/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.windsurf.com/plugins/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/plugins/accounts/sso-scim#webpage\",\"url\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim\",\"name\":\"Configurando SSO \u0026 SCIM\",\"description\":\"Configure Single Sign-On (SSO) e provisionamento via SCIM para sua organização usando Google Workspace, Microsoft Azure AD, Okta ou outros provedores de identidade SAML.\",\"dateModified\":\"2026-03-09T16:57:08.547Z\",\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contas\",\"item\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teams e Enterprise\",\"item\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/teams-getting-started\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Configurando SSO \u0026 SCIM\",\"item\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim#article\",\"headline\":\"Configurando SSO \u0026 SCIM\",\"name\":\"Configurando SSO \u0026 SCIM\",\"description\":\"Configure Single Sign-On (SSO) e provisionamento via 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/plugins/accounts/sso-scim\",\"mainEntityOfPage\":{\"@id\":\"https://docs.windsurf.com/pt-BR/plugins/accounts/sso-scim#webpage\"},\"image\":\"https://exafunction.github.io/public/hero/thumbnail_docs.png\",\"dateModified\":\"2026-03-09T16:57:08.547Z\",\"keywords\":\"SSO, SCIM, single sign-on, Okta, Azure AD, Google SSO, SAML, identity provider, authentication, provisioning, enterprise, teams\",\"publisher\":{\"@id\":\"https://docs.windsurf.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"}}]}\u003c/script>","agentPointerHref":"/pt-BR/plugins/accounts/sso-scim.md","siteName":"Windsurf Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/plugins/accounts/sso-scim"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/plugins/accounts/sso-scim"}]},{"language":"es","pages":[{"title":"es","href":"/es/plugins/accounts/sso-scim"}]},{"language":"de","pages":[{"title":"de","href":"/de/plugins/accounts/sso-scim"}]},{"language":"pt-BR","tabs":[{"tab":"Windsurf","pages":[{"title":"Windsurf","href":"/pt-BR/windsurf/getting-started"}]},{"tab":"Windsurf Plugins","groups":[{"group":"Primeiros passos","pages":[{"title":"Bem-vindo ao Windsurf Plugins","sidebarTitle":"Configuração","href":"/pt-BR/plugins/getting-started"},{"title":"Compatibilidade de IDEs","sidebarTitle":"Compatibilidade","href":"/pt-BR/plugins/compatibility"},{"title":"Guia para administradores","href":"/pt-BR/plugins/guide-for-admins"}]},{"group":"Recursos","pages":[{"group":"Autocomplete","pages":[{"title":"Visão geral do Autocomplete","sidebarTitle":"Visão geral","href":"/pt-BR/autocomplete/overview"},{"title":"Dicas de Autocomplete","sidebarTitle":"Dicas","href":"/pt-BR/autocomplete/tips"}]},{"group":"Chat","pages":[{"title":"Visão geral do Chat","sidebarTitle":"Visão geral","href":"/pt-BR/chat/overview"},{"title":"Modelos de Chat","sidebarTitle":"Modelos de Chat","href":"/pt-BR/chat/models"}]},{"group":"Command","pages":[{"title":"Visão geral do Command","sidebarTitle":"Visão geral","href":"/pt-BR/command/plugins-overview"},{"title":"Refatorações, docstrings e mais","href":"/pt-BR/command/related-features"}]}]},{"group":"Cascade (JetBrains)","pages":[{"title":"Visão geral do Cascade","sidebarTitle":"Visão geral do Cascade","href":"/pt-BR/plugins/cascade/cascade-overview"},{"title":"Modelos do Cascade","sidebarTitle":"Modelos","href":"/pt-BR/plugins/cascade/models"},{"title":"Pesquisa na Web e em Documentação","href":"/pt-BR/plugins/cascade/web-search"},{"title":"Memórias e Regras","href":"/pt-BR/plugins/cascade/memories"},{"title":"Model Context Protocol (MCP)","href":"/pt-BR/plugins/cascade/mcp"},{"title":"Workflows","sidebarTitle":"Workflows","href":"/pt-BR/plugins/cascade/workflows"}]},{"group":"Contas","pages":[{"title":"Planos e Uso de Créditos","sidebarTitle":"Uso","href":"/pt-BR/plugins/accounts/usage"},{"title":"Analytics","href":"/pt-BR/plugins/accounts/analytics"},{"group":"Teams e Enterprise","pages":[{"title":"Introdução ao Teams e ao Enterprise","sidebarTitle":"Introdução","href":"/pt-BR/plugins/accounts/teams-getting-started"},{"title":"Acesso e gerenciamento baseado em funções","sidebarTitle":"Acesso baseado em funções","href":"/pt-BR/plugins/accounts/rbac-role-management"},{"group":"Referência da API","pages":[{"title":"Referência da API","href":"/pt-BR/plugins/accounts/api-reference/api-introduction"},{"group":"Analytics API","pages":[{"title":"Analytics API","href":"/pt-BR/plugins/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/plugins/accounts/api-reference/user-page-analytics"},{"title":"Obter Analytics do Cascade","api":"POST https://server.codeium.com/api/v1/CascadeAnalytics","href":"/pt-BR/plugins/accounts/api-reference/cascade-analytics"},{"title":"Consulta Personalizada de Analytics","api":"POST https://server.codeium.com/api/v1/Analytics","href":"/pt-BR/plugins/accounts/api-reference/custom-analytics"},{"title":"Tratamento de erros","href":"/pt-BR/plugins/accounts/api-reference/errors"}]},{"group":"API de Uso","pages":[{"title":"Definir configuração de uso","api":"POST https://server.codeium.com/api/v1/UsageConfig","href":"/pt-BR/plugins/accounts/api-reference/usage-config"},{"title":"Obter configuração de uso","api":"POST https://server.codeium.com/api/v1/GetUsageConfig","href":"/pt-BR/plugins/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 usuário, créditos de add-on e informações do ciclo de cobrança.","href":"/pt-BR/plugins/accounts/api-reference/get-team-credit-balance"}]}]},{"title":"Configurando SSO \u0026 SCIM","sidebarTitle":"SSO \u0026 SCIM","href":"/pt-BR/plugins/accounts/sso-scim"}]}]},{"group":"Consciência de contexto","pages":[{"title":"Visão geral do contexto","sidebarTitle":"Visão geral","description":"O mecanismo de contexto baseado em RAG do Windsurf indexa sua base de código para gerar sugestões inteligentes. Saiba mais sobre fixação de contexto, base de conhecimento e recuperação com M-Query.","href":"/pt-BR/context-awareness/overview"},{"title":"Fast Context","href":"/pt-BR/context-awareness/fast-context"},{"title":"Windsurf Ignore","href":"/pt-BR/context-awareness/windsurf-ignore"},{"title":"Remote Indexing","sidebarTitle":"Remote Indexing (Enterprise)","href":"/pt-BR/context-awareness/remote-indexing"}]},{"group":"Boas práticas","pages":[{"title":"Engenharia de Prompts","href":"/pt-BR/best-practices/prompt-engineering"},{"title":"Casos de uso comuns","href":"/pt-BR/best-practices/use-cases"}]},{"group":"Solução de problemas","pages":[{"title":"Coleta de logs do plugin","sidebarTitle":"Coleta de logs","href":"/pt-BR/troubleshooting/plugins-gathering-logs"},{"title":"Problemas gerais","sidebarTitle":"Problemas comuns","href":"/pt-BR/troubleshooting/plugins-common-issues"},{"group":"Enterprise","pages":[{"title":"Solução de problemas do JetBrains","sidebarTitle":"JetBrains","href":"/pt-BR/troubleshooting/plugins-enterprise/jetbrains"},{"title":"Configuração de proxy do Windsurf em IDEs JetBrains","sidebarTitle":"Proxy no JetBrains","href":"/pt-BR/troubleshooting/plugins-enterprise/jetbrains-proxy"},{"title":"Visual Studio Code (VSCode) Solução de problemas","sidebarTitle":"Visual Studio Code (VSCode)","href":"/pt-BR/troubleshooting/plugins-enterprise/vscode"},{"title":"Solução de problemas no Eclipse","sidebarTitle":"Eclipse","href":"/pt-BR/troubleshooting/plugins-enterprise/eclipse"},{"title":"Resolução de problemas no Visual Studio","sidebarTitle":"Visual Studio","href":"/pt-BR/troubleshooting/plugins-enterprise/visualstudio"}]}]},{"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"}]}]}],"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/plugins/accounts/sso-scim"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/plugins/accounts/sso-scim"}]},{"language":"ro","pages":[{"title":"ro","href":"/ro/plugins/accounts/sso-scim"}]}]},"basePath":"","title":"Configurando SSO \u0026 SCIM - Windsurf Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Dmj010Ph.js","DynamicMarkdown-GHvayGOn.js","zoom-image-lightbox-8gCTkA22.js","lightbox-handle-r17bVUz3.js"]}