- SSO (Single Sign-On) do Google
- SSO (Single Sign-On) do Azure AD
- 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.
Clique em Add app e, em seguida, em Add custom SAML app.
Preencha App name com 
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 oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
Configurar aplicativo do IdP
No Console do administrador do Google (admin.google.com), clique em Apps -> Web and mobile apps no menu à esquerda.

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

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.
Parte 1: Criar aplicativo Enterprise no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
- No Microsoft Entra ID, clique em Add e depois em Enterprise Application.

- Clique em Create your own application.

- Nomeie o aplicativo Windsurf, selecione Integrate any other application you don’t find in the gallery e clique em Create.

Parte 2: Configurar SAML e atributos de usuário no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
- No novo aplicativo Windsurf, clique em Set up single sign on e depois em SAML.
- Clique em Edit em Basic SAML Configuration.
- Mantenha esta aba do Entra ID aberta e abra uma nova aba para acessar as Windsurf Teams SSO settings em https://windsurf.com/team/settings.
-
No formulário de configuração SAML do Microsoft Entra ID:
- Identifier (Entity ID): Copie o valor de SP Entity ID da Windsurf SSO settings page
- Reply URL (Assertion Consumer Service URL): Copie o valor de Callback URL da Windsurf SSO settings page
- Clique em Save no topo
- Configure os atributos de usuário para a exibição correta do nome. No Microsoft Entra ID, em Attributes & Claims, clique em Edit.
-
Crie 2 novas declarações (claims) clicando em Add new claim para cada uma:
- Primeira claim: Name =
firstName, Source attribute =user.givenname - Segunda claim: Name =
lastName, Source attribute =user.surname
- Primeira claim: Name =
Parte 3: Configurar o SSO no portal do Windsurf
Conclua a configuração no Windsurf portal (https://windsurf.com/team/settings).
-
Na Windsurf SSO settings page:
- 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.
Selecione SAML 2.0 como método de autenticação
Defina o nome do aplicativo como Windsurf (ou qualquer outro nome) e clique em NextConfigure as definições SAML como:
Na seção de feedback, selecione “This is an internal app that we have created” e clique em Finish.
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.
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.
O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é compatível no momento.
Configurar o aplicativo do IdP
Clique em Applications na barra lateral esquerda e depois em Create App Integration

- Single sign-on URL para https://auth.windsurf.com/__/auth/handler
- Audience URI (SP Entity ID) para www.codeium.com
- NameID format para EmailAddress
- Application username para Email

Registrar o Okta como provedor SAML
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.- Abra https://windsurf.com/team/settings e clique em Configure SAML
- 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:


Observações
Observe que o Windsurf atualmente não oferece suporte a fluxos de login iniciados pelo IdP.Também ainda não oferecemos suporte a OIDC.Solução de problemas
Login com configuração SAML falhou: Firebase: Error (auth/operation-not-allowed)

Login com configuração SAML falhou: Firebase: SAML Response <Issuer> mismatch. (auth/invalid-credential)

Falha ao verificar a assinatura em samlresponse
Isso indica um valor incorreto do seu X509 certificate. Certifique-se de copiar a chave correta e de que ela esteja formatada como:Copiar
Perguntar à IA
-----BEGIN CERTIFICATE-----
valor
------END CERTIFICATE------
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:

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.
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 paraEm 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.
- 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)
Etapa 1: Acesse o aplicativo Windsurf 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.
Etapa 2: Configure o provisionamento SCIM
Clique em Get started em Provision User Accounts no meio (etapa 3) e depois clique novamente em Get started.

Etapa 3: Configure o provisionamento SCIM
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.

Copiar
Perguntar à IA
NOT([IsSoftDeleted])



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.Etapa 2: Habilite o Provisionamento SCIM
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- https://windsurf.com/team/settings e vá para Other Settings e encontre Service Key Configuration
- Clique em Add Service Key e dê um nome à sua chave
- Copie a API key, volte ao Okta e cole em HTTP Header - Authorization
Etapa 3: Configurar o Provisionamento
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 (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).Existem razões pelas quais pode ser necessário provisionar grupos manualmente em vez de usar o Provedor de Identidade (Azure/Okta). As empresas podem querer que os grupos sejam provisionados a partir de uma fonte interna diferente (site de RH, Ferramenta de Gerenciamento de Código-fonte etc.) à qual o Windsurf não tem acesso, ou podem desejar um controle mais granular sobre os grupos do que o oferecido pelo Provedor de Identidade. Os grupos podem, portanto, ser criados através de uma API via requisição HTTP. A seguir são fornecidos exemplos da requisição HTTP via CURL.Existem 5 APIs principais aqui: Criar Grupo, Adicionar membros ao grupo, Substituir membros do grupo, Excluir Grupo e Listar Usuários de um Grupo.Você precisará primeiro criar o grupo e depois substituí-lo para criar um grupo com membros. Você também precisará codificar os nomes dos grupos na URL se o nome do grupo contiver caracteres especiais como espaços, então um nome de grupo como ‘Engineering Group’ deverá ser ‘Engineering%20Group’ na URL.Observe que os usuários precisam ser criados no Windsurf (por meio do SCIM ou criando a conta manualmente) antes que possam ser adicionados a um grupo.Criar um usuário:Atualizar nome:
Criar Grupo
Copiar
Perguntar à IA
curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
"displayName": "<nome do grupo>",
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
}' -H "Authorization: Bearer <chave secreta da api>" -H "Content-Type: application/scim+json"
Adicionar Membros do Grupo
Copiar
Perguntar à IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nome do grupo> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations":[
{
"op": "add",
"path":"members",
"value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
}]}' -H "Authorization: Bearer <chave secreta da api>" -H "Content-Type: application/scim+json"
Substituir Membros do Grupo
Copiar
Perguntar à IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nome do grupo> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations":[
{
"op": "replace",
"path":"members",
"value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
}]}' -H "Authorization: Bearer <chave secreta da api>" -H "Content-Type: application/scim+json"
Excluir Grupo
Copiar
Perguntar à IA
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nome do grupo> -H "Authorization: Bearer <chave secreta da API>" -H "Content-Type: application/scim+json"
Lista de Grupos
Copiar
Perguntar à IA
curl -X GET -H "Authorization: Bearer <chave secreta da api>" "https://server.codeium.com/scim/v2/Groups"
Listar Usuários de um Grupo
Copiar
Perguntar à IA
curl -X GET -H "Authorization: Bearer <chave secreta da api>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
APIs do Usuário
Também há APIs para usuários. A seguir estão algumas das APIs SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) comuns que o Windsurf oferece suporte.Desabilitar um usuário (Para habilitar, substitua false por true):Copiar
Perguntar à IA
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
}
]
}'
Copiar
Perguntar à IA
curl -X POST \
https://server.codeium.com/scim/v2/Users \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <chave secreta da API>' \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "<email>",
"displayName": "<nome completo>",
"active": true,
}'
Copiar
Perguntar à IA
curl -X PATCH \
'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
-H 'Authorization: Bearer <service key>' \
-H 'Content-Type: application/scim+json' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "<novo nome>"
}
]
}'
Criando Chave Secreta da API
Acesse https://windsurf.com/team/settings. Em Configuração de Chave de Serviço, clique em Configurar e depois em Adicionar Chave de Serviço. Insira qualquer nome para a chave (como ‘Chave de Provisionamento Azure’) e clique em Criar Chave de Serviço. Copie a chave gerada e salve-a. Agora você pode usar a chave para autorizar as APIs mencionadas acima.Pré-requisitos
Este guia pressupõe que você tenha o Duo configurado e atuando como seu IdP organizacional, ou que tenha um IdP externo configurado.Você precisará de acesso de administrador às contas do Duo e do Windsurf.Configurar o Duo para o Windsurf
- Acesse Applications e adicione um provedor de serviço Generic SAML

- Acesse SSO em Team Settings

- Ao habilitar o SAML pela primeira vez, será necessário configurar seu SSO ID. Você não poderá alterá-lo depois. Recomenda-se defini-lo como o nome da sua organização ou equipe, usando apenas caracteres alfanuméricos.
-
Copie o valor de
Entity IDno portal do Duo e cole no campoIdP Entity IDno portal do Windsurf. -
Copie o valor de
Single Sign-On URLno portal do Duo e cole no campoSSO URLno portal do Windsurf. -
Copie o valor do certificado no portal do Duo e cole no campo
X509 Certificateno portal do Windsurf.

-
Copie o valor de
SP Identity IDno portal do Windsurf e cole no campoEntity IDno portal do Duo. -
Copie o
Callback URL (Assertion Consumer Service URL)no portal do Windsurf e cole no campoAssertion Consumer Service (ACS) URLno 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.
- 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.
Pré-requisitos
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.Configurar o PingID para o 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.
- 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 IDdo portal do Windsurf.

-
Copie o
Issuer IDdo PingID para o valorIdP Entity IDno portal do Windsurf. -
Copie o valor
Single Signon Servicedo PingID para o valorSSO URLno 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 Certificateno portal do Windsurf.
- Em attribute mappings, certifique-se de mapear:
saml_subject— Email AddressfirstName— Given NamelastName— 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.
- 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.