- SSO (Single Sign-On) do Google
- SSO (Single Sign-On) do Azure AD
- Okta SSO (Single Sign-On)
- Azure SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
- Okta SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
- API do SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos)
- Duo
- PingID
Windsurf agora oferece suporte a login com SSO (Single Sign-On) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspaces ou outro provedor de identidade compatível com SAML, você poderá usar SSO com o Windsurf.
Clique em Add app e, em seguida, Add custom SAML app.
Preencha App name com 
Na página de configurações do Codeium, clique em Enable Login with SAML e depois em Save. Lembre-se de clicar em Test Login para confirmar que o login funciona como esperado. Agora, todos os usuários terão o login por SSO obrigatório.
Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IDP NÃO é compatível no momento.
Configurar o aplicativo do IDP
No console de administração do Google (admin.google.com), clique em Apps -> Web and mobile apps no menu à esquerda.

Windsurf e clique em Next.A próxima tela (Google Identity Provider details) na página do console do Google contém dados que você precisará copiar para as configurações de SSO do Windsurf em https://windsurf.com/team/settings.- Copie o SSO URL da página do console do Google para as configurações do Windsurf em SSO URL
- Copie o Entity ID da página do console do Google para as configurações do Windsurf em Idp Entity ID
- Copie o Certificate da página do console do Google para as configurações do Windsurf em X509 Certificate
- Clique em Continue na página do console do Google
- Copie o Callback URL da página de configurações do Codeium para a página do console do Google em ACS URL
- Copie o SP Entity ID da página de configurações do Codeium para a página do console do Google em SP Entity ID
- Altere o formato do Name ID para EMAIL
- Clique em Continue na página do console do Google
- 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 autenticação com Single Sign-On (SSO) via SAML. Se a sua organização usa Microsoft Entra ID (anteriormente Azure AD), você poderá usar SSO com o Windsurf.


O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
Parte 1: Criar aplicativo Enterprise no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
- No Microsoft Entra ID, clique em Add e depois em Enterprise Application.

- Clique em Create your own application.

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

Parte 2: Configurar SAML e atributos de usuário no Microsoft Entra ID
Todas as etapas desta seção são realizadas no Microsoft Entra ID admin center.
- No seu novo aplicativo Windsurf, clique em Set up single sign on e depois clique em SAML.
- Clique em Edit em Basic SAML Configuration.
- Mantenha esta aba do Entra ID aberta e abra uma nova aba para acessar as configurações de SSO do Windsurf Teams em https://windsurf.com/team/settings.
-
No formulário de configuração SAML do Microsoft Entra ID:
- Identifier (Entity ID): copie o valor de SP Entity ID da página de configurações de SSO do Windsurf
- Reply URL (Assertion Consumer Service URL): copie o valor de Callback URL da página de configurações de SSO do Windsurf
- Clique em Save no topo
- Configure os atributos de usuário para exibição correta do nome. No Microsoft Entra ID, em Attributes & Claims, clique em Edit.
-
Crie 2 novas declarações clicando em Add new claim para cada uma:
- Primeira declaração: Name =
firstName, Source attribute =user.givenname - Segunda declaração: Name =
lastName, Source attribute =user.surname
- Primeira declaração: Name =
Parte 3: Configurar as configurações de SSO no portal do Windsurf
Conclua a configuração no portal do Windsurf (https://windsurf.com/team/settings).
-
Na página de configurações de SSO do Windsurf:
- Pick your SSO ID: escolha um identificador exclusivo para o portal de login da sua equipe (isso não poderá ser alterado depois)
- IdP Entity ID: copie o valor do Microsoft Entra ID em Set up Windsurf → Microsoft Entra Identifier
- SSO URL: copie o valor de Login URL do Microsoft Entra ID
- X509 Certificate: baixe o SAML certificate (Base64) do Microsoft Entra ID, abra o arquivo e cole aqui o conteúdo de texto
- No portal do Windsurf, clique em Enable Login with SAML e depois clique em Save.
- Teste a configuração: clique em Test Login para verificar se a configuração de SSO está funcionando conforme esperado.
Importante: Não saia nem feche a página de configurações do Windsurf até testar o login com sucesso. Se o teste falhar, talvez seja necessário solucionar a configuração antes de prosseguir.
Windsurf Enterprise agora oferece suporte a login com SSO (Single Sign-On) via SAML. Se sua organização usa Microsoft Entra, Okta, Google Workspace ou outro provedor de identidade que ofereça suporte a SAML, você poderá usar SSO com o Windsurf.
Selecione SAML 2.0 como método de login.
Defina o nome do app como Windsurf (ou qualquer outro nome) e clique em Next.Configure as definições do SAML como:
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.Compartilhe a URL personalizada do Login Portal da sua organização com os usuários e peça que acessem por esse link.
Usuários que fizerem login no Windsurf via SSO serão aprovados automaticamente na equipe.
Isso indica um ID de SSO inválido ou que sua SSO URL está incorreta; verifique se é alfanumérica e não possui espaços extras ou caracteres inválidos. Revise as etapas do guia e certifique-se de usar os valores corretos.
Isso indica que seu IdP Entity ID é inválido; certifique-se de copiá-lo corretamente do portal do Okta, sem caracteres extras ou espaços antes ou depois da string.
O Windsurf oferece suporte apenas a SSO iniciado pelo SP; SSO iniciado pelo IdP NÃO é suportado no momento.
Configurar o aplicativo do IdP
Clique em Applications na barra lateral esquerda e depois em Create App Integration.

- 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 um provedor SAML
Você deve ser redirecionado para a aba Sign on no seu aplicativo SAML personalizado. Agora, pegue as informações desta página e preencha-as nas configurações de SSO do Windsurf.- Abra https://windsurf.com/team/settings e clique em Configure SAML
- Copie o texto após ‘Issuer’ na página do aplicativo do Okta e cole em IdP Entity ID
- Copie o texto após ‘Sign on URL’ na página do aplicativo do Okta e cole em SSO URL
- Baixe o Signing Certificate e cole em X509 certificate
- Marque Enable Login with SAML e clique em Save
- Teste o login com o botão Test Login. Você deverá ver uma mensagem de sucesso:


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------
O Windsurf oferece suporte à sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) para usuários e grupos com Microsoft Entra ID / Azure AD. Não é necessário configurar SSO (Single Sign-On) para usar a sincronização SCIM, mas é altamente recomendado.Você precisará de:

Na página de configuração de Provisionamento, selecione as opções a seguir.Modo de Provisionamento: AutomáticoCredenciais do Administrador > URL do Locatário: https://server.codeium.com/scim/v2
Deixe a página de provisionamento do Azure aberta, agora vá para o portal web do Windsurf e clique no ícone de perfil na NavBar no topo da página. Em Configurações da Equipe, selecione Chave de Serviço e clique em Adicionar Chave de Serviço. Digite qualquer nome de chave (como ‘Provisionamento SCIM do Azure’), selecione a função “Provisionamento SCIM” que você criou anteriormente, e clique em Criar Chave de Serviço. Copie a chave gerada, volte para a página do Azure e cole-a no Token Secreto.
(O que você deve ver após criar a chave no Windsurf)Na página de Provisionamento, clique em Testar Conexão e isso deve verificar a conexão SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).Agora, acima do formulário de Provisionamento, clique em Salvar.
Em Mapeamentos de atributos, exclua todos os campos sob displayName, deixando apenas os campos userName, active e displayName.
Para ativar, agora clique em Editar. Em Expressão, modifique o campo paraEm seguida, clique em OK.Seus atributos de usuário devem ficar assim
Na página de Mapeamento de Atributos, clique em Salvar na parte superior e retorne à página de Provisionamento.Agora clique na mesma página, em Mapeamentos clique em Provisionar Grupos do Microsoft Entra ID. Agora clique apenas em excluir para externalId, e clique em Salvar no topo. Navegue de volta para a página de Provisionamento.
Na página de Provisionamento, na parte inferior, também deve haver um botão de Status de Provisionamento. Defina-o como Ativado para habilitar a sincronização SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Agora, a cada 40 minutos, seus usuários e grupos do aplicativo Entra ID serão sincronizados com o Windsurf.
Clique em Salvar para finalizar. Você habilitou a sincronização de usuários e grupos para SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos). Apenas usuários e grupos atribuídos ao aplicativo serão sincronizados com o Windsurf. Note que remover usuários apenas desabilita o acesso ao Windsurf (e impede que ocupem uma licença) em vez de excluir usuários, devido ao design SCIM do Azure.
- Acesso de administrador ao Microsoft Entra ID/Azure AD
- Acesso de administrador ao Windsurf
- Um aplicativo Windsurf já existente no Entra ID (geralmente proveniente do seu aplicativo de SSO existente)
Permissões necessárias para a Chave de serviçoA Chave de serviço usada para provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos) deve ter as seguintes permissões:
- Team User Read - Necessária para ler informações de usuários e grupos
- Team User Update - Necessária para criar e atualizar usuários e grupos
- Team User Delete - Necessária para desativar/excluir usuários e grupos
Passo 1: Criar uma Função com Permissões SCIM
Antes de configurar o provisionamento SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos), você precisa criar um papel com as permissões necessárias.- Acesse Windsurf Team Settings
- Em “Other Settings”, clique em Configure ao lado de Role Management
- Clique em Add Role e nomeie-o como “SCIM Provisioning”
- Adicione as permissões a seguir:
- Leitura de usuário da equipe
- Atualização de usuário da equipe
- Exclusão de usuário da equipe
- Clique em Salvar
Passo 2: Navegue até o aplicativo Windsurf existente
Acesse o Microsoft Entra ID no Azure, clique em Aplicativos empresariais na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista.
Passo 3: Configurar provisionamento SCIM
Clique em Começar em Provisionar Contas de Usuário no meio (etapa 3) e, em seguida, clique em Começar novamente.


Passo 4: Configurar o Provisionamento SCIM
Após clicar em Salvar, uma nova opção Mapeamentos deve ter aparecido na página de Provisionamento. Expanda Mapeamentos e clique em Provisionar Usuários do Microsoft Entra ID

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 é altamente recomendado.Você vai precisar de:
- Acesso de administrador ao Okta
- Acesso de administrador ao Windsurf
- Um aplicativo Windsurf já criado no Okta (normalmente a partir do seu aplicativo de SSO existente)
Etapa 1: Navegue até o aplicativo Windsurf existente
Acesse o Okta, clique em Applications, Applications na barra lateral esquerda e, em seguida, clique no aplicativo Windsurf existente na lista de aplicativos.Etapa 2: Habilite o provisionamento SCIM
Na guia General, em App Settings, clique em Edit no canto superior direito. Marque a caixa de seleção ‘Enable SCIM Provisioning’ e depois clique em Save. Uma nova guia de provisioning deve ter aparecido na parte superior.Agora vá para Provisioning, clique em Edit e preencha os seguintes campos:SCIM connector base URL: https://server.codeium.com/scim/v2Unique identifier field for users: emailSupported provisioning actions: Push New Users, Push Profile Updates, Push GroupsAuthentication Mode: HTTP HeaderPara HTTP Header - Authorization, você pode gerar o token em- https://windsurf.com/team/settings e vá para Service Key Configuration
- Clique em Configure, depois em Add Service Key e dê um nome à sua chave de API
- Copie a chave de API, volte para o Okta e cole em HTTP Header - Authorization
Etapa 3: Configure o provisionamento
Na guia Provisioning, à esquerda devem aparecer duas novas seções. Clique em To App e em Edit Provisioning to App. Marque as opções Create Users, Update User Attributes e Deactivate Users e clique em Save.Após esta etapa, todos os usuários atribuídos ao grupo serão sincronizados com o Windsurf.Etapa 4: Configure o provisionamento de grupos (opcional)
Para sincronizar grupos com o Windsurf, você deverá especificar quais grupos enviar. No aplicativo, clique na guia Push Groups na parte superior. Agora clique em + Push Groups -> Find Groups by name. Filtre pelo grupo que deseja adicionar, certifique-se de que Push group memberships immediately esteja marcado e, em seguida, clique em Save. O grupo será criado e seus membros serão sincronizados com o Windsurf. Os grupos podem então ser usados para filtrar a visualização de grupo na página de Analytics.Este guia mostra como criar e gerenciar grupos no Windsurf com a API SCIM (System for Cross-domain Identity Management — padrão para provisionamento de identidades de usuários e grupos).Existem razões pelas quais pode ser necessário provisionar grupos manualmente em vez de usar o Provedor de Identidade (Azure/Okta). As empresas podem querer que os grupos sejam provisionados a partir de uma fonte interna diferente (site de RH, Ferramenta de Gerenciamento de Código-fonte etc.) à qual o Windsurf não tem acesso, ou podem desejar um controle mais granular sobre os grupos do que o oferecido pelo Provedor de Identidade. Os grupos podem, portanto, ser criados através de uma API via requisição HTTP. A seguir são fornecidos exemplos da requisição HTTP via CURL.Existem 5 APIs principais aqui: Criar Grupo, Adicionar membros ao grupo, Substituir membros do grupo, Excluir Grupo e Listar Usuários de um Grupo.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 Adicionar Chave de Serviço. Digite qualquer nome para a chave (como ‘Chave de Provisionamento Azure’) e clique em Criar Chave de Serviço. Copie a chave resultante e salve-a; agora você pode usar a chave para autorizar as APIs mencionadas acima.Pré-requisitos
Este guia pressupõe que você tenha o Duo configurado e atuando como seu IdP organizacional, ou que tenha um IdP externo configurado.Você precisará de acesso de administrador tanto às contas do Duo quanto do Windsurf.Configurar o Duo para o Windsurf
- Acesse Applications e adicione um provedor de serviço Generic SAML

- Acesse SSO em Team Settings

- Ao habilitar o SAML pela primeira vez, será necessário configurar seu SSO ID. Você não poderá alterá-lo depois. Recomenda-se defini-lo como o nome da sua organização ou equipe, usando apenas caracteres alfanuméricos.
-
Copie o valor de
Entity 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 atributos da seguinte forma:

- 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 por SSO ao acessar a página da sua equipe/organização com o SSO ID configurado na etapa 3.
Pré-requisitos
Este guia presume que você tem o PingID configurado e atuando como seu IdP organizacional, ou que tem um IdP externo configurado.Você precisará de acesso de administrador às contas do PingID e do Windsurf.Configurar o PingID para o Windsurf
- Vá até Applications e adicione o Windsurf como um SAML Application

- Vá até SSO em Team Settings

- Ao habilitar o SAML pela primeira vez, será necessário definir seu SSO ID. Você não poderá alterá-lo depois.
- No PingID, escolha inserir a configuração manualmente e preencha os campos com os seguintes valores:
- ACS URLs — é o
Callback URL (Assertion Consumer Service URL)do portal do Windsurf. - Entity ID — é o
SP Entity IDdo portal do Windsurf.

-
Copie o
Issuer IDdo PingID para o campoIdP Entity IDno portal do Windsurf. -
Copie o valor
Single Signon Servicedo PingID para o campoSSO 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, garanta o mapeamento de:
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 poder testá-lo.
- Quando o teste for concluído com sucesso, você poderá fazer logout. Agora você pode usar o login com SSO ao acessar a página da sua equipe/organização com o SSO ID configurado na etapa 3.