- SSO de Google
- SSO (inicio de sesión único) de Azure AD
- Okta SSO (inicio de sesión único)
- Azure SCIM (Sistema para la Gestión de Identidades entre Dominios)
- Okta SCIM (Sistema para la Gestión de Identidades entre Dominios)
- API de SCIM (Sistema para la Gestión de Identidades entre Dominios)
- Duo
- PingID
Windsurf ahora admite iniciar sesión con SSO (inicio de sesión único) mediante SAML. Si tu organización usa Microsoft Entra, Okta, Google Workspace u otro proveedor de identidad que admita SAML, podrás usar SSO con Windsurf.
Haz clic en Add app y luego en Add custom SAML app.
Completa App name con 
En la página de configuración de Codeium, haz clic en Enable Login with SAML y luego en Save. Asegúrate de hacer clic en Test Login para verificar que el inicio de sesión funcione como se espera. A partir de ahora, todos los usuarios tendrán el inicio de sesión con SSO aplicado.
Windsurf solo admite SSO iniciado por el SP; el SSO iniciado por el IdP NO es compatible actualmente.
Configurar la aplicación del IdP
En la consola de administración de Google (admin.google.com), haz clic en Apps -> Web and mobile apps en el menú de la izquierda.

Windsurf y haz clic en Next.La siguiente pantalla (Google Identity Provider details) en la consola de Google contiene datos que deberás copiar en la configuración de SSO de Windsurf en https://windsurf.com/team/settings.- Copia SSO URL desde la consola de Google a la configuración de Windsurf en SSO URL
- Copia Entity ID desde la consola de Google a la configuración de Windsurf en IdP Entity ID
- Copia Certificate desde la consola de Google a la configuración de Windsurf en X509 Certificate
- Haz clic en Continue en la consola de Google
- Copia Callback URL desde la página de configuración de Codeium a la consola de Google en ACS URL
- Copia SP Entity ID desde la página de configuración de Codeium a la consola de Google en SP Entity ID
- Cambia el formato de Name ID a EMAIL
- Haz clic en Continue en la consola de Google
- Haz clic en Add Mapping, selecciona First name y establece App attributes en firstName
- Haz clic en Add Mapping, selecciona Last name y establece App attributes en lastName
- Haz clic en Finish

Windsurf Enterprise ahora admite el inicio de sesión con SSO (inicio de sesión único) mediante SAML. Si tu organización usa Microsoft Entra ID (antes Azure AD), podrás usar SSO con Windsurf.


Windsurf solo admite SSO iniciado por el SP; actualmente NO se admite SSO iniciado por el IdP.
Parte 1: Crear la aplicación Enterprise en Microsoft Entra ID
Todos los pasos de esta sección se realizan en el centro de administración de Microsoft Entra ID.
- En Microsoft Entra ID, haz clic en Add y luego en Enterprise Application.

- Haz clic en Create your own application.

- Nombra tu aplicación Windsurf, selecciona Integrate any other application you don’t find in the gallery y luego haz clic en Create.

Parte 2: Configurar SAML y atributos de usuario en Microsoft Entra ID
Todos los pasos de esta sección se realizan en el centro de administración de Microsoft Entra ID.
- En tu nueva aplicación Windsurf, haz clic en Set up single sign on y luego en SAML.
- Haz clic en Edit en Basic SAML Configuration.
- Mantén abierta esta pestaña de Entra ID y abre una nueva pestaña para ir a la configuración de SSO de Windsurf Teams en https://windsurf.com/team/settings.
-
En el formulario de configuración SAML de Microsoft Entra ID:
- Identifier (Entity ID): Copia el valor de SP Entity ID desde la página de configuración de SSO de Windsurf
- Reply URL (Assertion Consumer Service URL): Copia el valor de Callback URL desde la página de configuración de SSO de Windsurf
- Haz clic en Save en la parte superior
- Configura los atributos de usuario para mostrar correctamente el nombre. En Microsoft Entra ID, en Attributes & Claims, haz clic en Edit.
-
Crea 2 nuevos claims haciendo clic en Add new claim para cada uno:
- Primer claim: Name =
firstName, Source attribute =user.givenname - Segundo claim: Name =
lastName, Source attribute =user.surname
- Primer claim: Name =
Parte 3: Configurar los ajustes de SSO en el portal de Windsurf
Completa la configuración en el portal de Windsurf (https://windsurf.com/team/settings).
-
En la página de configuración de SSO de Windsurf:
- Pick your SSO ID: Elige un identificador único para el portal de inicio de sesión de tu equipo (esto no se puede cambiar después)
- IdP Entity ID: Copia el valor de Microsoft Entra ID en Set up Windsurf → Microsoft Entra Identifier
- SSO URL: Copia el valor de Login URL desde Microsoft Entra ID
- X509 Certificate: Descarga el SAML certificate (Base64) desde Microsoft Entra ID, abre el archivo y pega aquí el contenido de texto
- En el portal de Windsurf, haz clic en Enable Login with SAML y luego en Save.
- Prueba la configuración: Haz clic en Test Login para verificar que la configuración de SSO funciona como se espera.
Importante: No cierres sesión ni cierres la página de configuración de Windsurf hasta que hayas probado el inicio de sesión correctamente. Si la prueba falla, puede que necesites solucionar la configuración antes de continuar.
Windsurf Enterprise ahora admite el inicio de sesión con Single Sign-On (SSO) vía SAML. Si tu organización usa Microsoft Entra, Okta, Google Workspaces u otro proveedor de identidad que admita SAML, podrás usar SSO con Windsurf.
Selecciona SAML 2.0 como método de inicio de sesión
Establece el nombre de la app como Windsurf (o cualquier otro nombre) y haz clic en NextConfigura los ajustes de SAML como:
En la sección de comentarios, selecciona “This is an internal app that we have created” y haz clic en Finish.
En este punto, todo debería estar configurado y ya puedes agregar usuarios a la nueva aplicación de Okta para Windsurf.Comparte la URL personalizada del Login Portal de tu organización con tus usuarios y pídeles que inicien sesión mediante ese enlace.
Los usuarios que inicien sesión en Windsurf mediante SSO serán aprobados automáticamente en el equipo.
Esto apunta a un ID de SSO no válido o a que tu SSO URL es incorrecta; asegúrate de que sea alfanumérica y no tenga espacios adicionales ni caracteres no válidos. Vuelve a repasar los pasos de la guía y verifica que uses los valores correctos.
Esto indica que tu IdP Entity ID es inválido; asegúrate de copiarlo correctamente desde el portal de Okta, sin caracteres adicionales ni espacios antes o después de la cadena.
Windsurf solo admite SSO iniciado por SP; actualmente NO se admite SSO iniciado por IdP.
Configurar la aplicación del IdP
Haz clic en Applications en la barra lateral izquierda y luego en Create App Integration

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

Registrar Okta como proveedor SAML
Deberías ser redirigido a la pestaña Sign on de tu aplicación SAML personalizada. Ahora toma la información de esa página y complétala en la configuración de SSO de Windsurf.- Abre https://windsurf.com/team/settings y haz clic en Configure SAML
- Copia el texto después de ‘Issuer’ en la página de la aplicación de Okta y pégalo en IdP Entity ID
- Copia el texto después de ‘Sign on URL’ en la página de la aplicación de Okta y pégalo en SSO URL
- Descarga el Signing Certificate y pégalo en X509 certificate
- Marca Enable Login with SAML y luego haz clic en Save
- Prueba el inicio de sesión con el botón Test Login. Deberías ver un mensaje de éxito:


Advertencias
Ten en cuenta que Windsurf actualmente no admite flujos de inicio de sesión iniciados por IdP.Tampoco admitimos OIDC por el momento.Solución de problemas
Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)

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

Failed to verify the signature in samlresponse
Esto indica un valor incorrecto en tu X509 certificate; asegúrate de copiar la clave correcta y de que esté formateada como:Copiar
Preguntar a la IA
-----BEGIN CERTIFICATE-----
valor
------END CERTIFICATE------
Windsurf admite la sincronización SCIM para usuarios y grupos con Microsoft Entra ID / Azure AD. No es necesario configurar SSO (inicio de sesión único) para usar la sincronización SCIM, pero es muy recomendable.Necesitarás:

En la página de configuración de Provisioning, selecciona las siguientes opciones.Provisioning Mode: AutomaticAdmin Credentials > Tenant URL: https://server.codeium.com/scim/v2Deja abierta la página de aprovisionamiento de Azure, ahora ve al portal web de Windsurf y haz clic en el ícono de perfil en la barra de navegación en la parte superior de la página. En Team Settings, selecciona Clave de servicio y haz clic en Add Service Key. Ingresa cualquier nombre para la clave (por ejemplo, “Azure Provisioning Key”) y haz clic en Create Service Key. Copia la clave generada, vuelve a la página de Azure y pégala en Secret Token.
(Lo que deberías ver después de crear la clave en Windsurf)En la página Provisioning, haz clic en Test Connection; con esto deberías verificar la conexión SCIM.Ahora, arriba del formulario de Provisioning, haz clic en Save.
En attribute Mappings, elimina todos los campos bajo displayName, dejando solo los campos userName, active y displayName.
Para active, haz clic en Edit. En Expression, modifica el campo aLuego, haz clic en OK.Tus atributos de usuario deberían verse así:
En la página Attribute Mapping, haz clic en Save en la parte superior y regresa a la página Provisioning.Ahora, en esa misma página, bajo Mappings, haz clic en Provision Microsoft Entra ID Groups. Luego, elimina únicamente externalId con la opción delete y vuelve a hacer clic en Save en la parte superior. Regresa a la página Provisioning.
En la página Provisioning, en la parte inferior, también debería haber un interruptor llamado Provisioning Status. Ponlo en On para habilitar la sincronización SCIM (Sistema para la Gestión de Identidades entre Dominios). A partir de ahora, cada 40 minutos los usuarios y grupos de la aplicación Entra ID se sincronizarán con Windsurf.
Haz clic en Save para finalizar; ya has habilitado la sincronización de usuarios y grupos mediante SCIM. Solo los usuarios y grupos asignados a la aplicación se sincronizarán con Windsurf. Ten en cuenta que eliminar usuarios solo les deshabilita el acceso a Windsurf (y evita que ocupen una plaza) en lugar de borrarlos, debido al diseño de SCIM en Azure.
- Acceso de administrador a Microsoft Entra ID / Azure AD
- Acceso de administrador a Windsurf
- Una aplicación de Windsurf existente en Entra ID (normalmente de tu aplicación de SSO existente)
Paso 1: Ve a la aplicación de Windsurf existente
Ve a Microsoft Entra ID en Azure, haz clic en Enterprise applications en la barra lateral izquierda y luego haz clic en la aplicación de Windsurf existente en la lista.
Paso 2: Configura el aprovisionamiento SCIM
Haz clic en Get started en la sección Provision User Accounts en el centro (paso 3) y luego vuelve a hacer clic en Get started.

Paso 3: Configura el aprovisionamiento SCIM
Después de hacer clic en Save, debería aparecer una nueva opción Mappings en la página de Provisioning. Expande Mappings y haz clic en Provision Microsoft Entra ID Users

Copiar
Preguntar a la IA
NOT([IsSoftDeleted])



Windsurf admite la sincronización SCIM para usuarios y grupos con Okta. No es necesario configurar SSO (inicio de sesión único) para usar la sincronización SCIM, pero es muy recomendable.Necesitarás:
- Acceso de administrador a Okta
- Acceso de administrador a Windsurf
- Una aplicación de Windsurf existente en Okta (normalmente a partir de tu aplicación de SSO existente)
Paso 1: Navega a la aplicación de Windsurf existente
Ve a Okta, haz clic en Applications, Applications en la barra lateral izquierda y luego haz clic en la aplicación de Windsurf existente en la lista de aplicaciones.Paso 2: Habilita el aprovisionamiento SCIM
En la pestaña General, App Settings, haz clic en Edit en la esquina superior derecha. Luego marca la casilla “Enable SCIM Provisioning” y haz clic en Save. Debería haber aparecido una nueva pestaña de aprovisionamiento en la parte superior.Ahora ve a Provisioning, haz clic en Edit e introduce la siguiente información en los 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, puedes generar el token desde- https://windsurf.com/team/settings y ve a Other Settings y encuentra Service Key Configuration
- Haz clic en Add Service Key y asígnale un nombre a tu clave
- Copia la clave de API, vuelve a Okta y pégala en HTTP Header - Authorization
Paso 3: Configura el aprovisionamiento
En la pestaña Provisioning, a la izquierda deberían aparecer dos nuevas secciones. Haz clic en To App y en Edit Provisioning to App. Marca las casillas para Create Users, Update User Attributes y Deactivate Users, y haz clic en Save.Después de este paso, todos los usuarios asignados al grupo se sincronizarán con Windsurf.Paso 4: Configura el aprovisionamiento de grupos (opcional)
Para sincronizar grupos con Windsurf, tendrás que especificar qué grupos enviar. En la aplicación, haz clic en la pestaña Push Groups en la parte superior. Ahora haz clic en + Push Groups -> Find Groups by name. Filtra el grupo que deseas agregar, asegúrate de que Push group memberships immediately esté marcado y luego haz clic en Save. El grupo se creará y los miembros del grupo se sincronizarán con Windsurf. Luego se podrán usar los grupos para filtrar la analítica de grupos en la página de Analytics.Esta guía muestra cómo crear y mantener grupos en Windsurf con la API de SCIM (Sistema para la Gestión de Identidades entre Dominios).Existen razones por las que se podría querer aprovisionar grupos manualmente en lugar de hacerlo con el Proveedor de Identidad (Azure/Okta). Las empresas pueden querer que los grupos se aprovisionen desde una fuente interna diferente (sitio web de RRHH, herramienta de gestión de código fuente, etc.) a la que Windsurf no tiene acceso, o las empresas pueden necesitar un control más granular sobre los grupos del que proporciona su Proveedor de Identidad. Por lo tanto, los grupos se pueden crear mediante una API a través de solicitudes HTTP. A continuación se proporcionan ejemplos de solicitudes HTTP usando CURL.Hay 5 APIs principales aquí: Crear Grupo, Agregar miembros al grupo, Reemplazar miembros del grupo, Eliminar Grupo y Listar Usuarios de un Grupo.Primero deberás crear al menos el grupo, y luego reemplazarlo para crear un grupo con miembros. También necesitarás codificar en URL los nombres de grupo si el nombre contiene caracteres especiales como espacios, por lo que un nombre de grupo como ‘Engineering Group’ deberá ser ‘Engineering%20Group’ en la URL.Ten en cuenta que los usuarios deben crearse en Windsurf (a través de SCIM o creando la cuenta manualmente) antes de poder agregarlos a un grupo.Crear un usuario:Actualizar nombre:
Crear Grupo
Copiar
Preguntar a la IA
curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
"displayName": "<nombre del grupo>",
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
}' -H "Authorization: Bearer <clave secreta de API>" -H "Content-Type: application/scim+json"
Agregar Miembros del Grupo
Copiar
Preguntar a la IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nombre del 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 <clave secreta de api>" -H "Content-Type: application/scim+json"
Reemplazar miembros del grupo
Copiar
Preguntar a la IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nombre del 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 <clave secreta de api>" -H "Content-Type: application/scim+json"
Eliminar Grupo
Copiar
Preguntar a la IA
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nombre del grupo> -H "Authorization: Bearer <clave secreta de la API>" -H "Content-Type: application/scim+json"
Lista de Grupos
Copiar
Preguntar a la IA
curl -X GET -H "Authorization: Bearer <clave secreta de API>" "https://server.codeium.com/scim/v2/Groups"
Listar Usuarios en un Grupo
Copiar
Preguntar a la IA
curl -X GET -H "Authorization: Bearer <clave secreta de API>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
APIs de Usuario
También hay APIs para usuarios. Las siguientes son algunas de las APIs de SCIM (Sistema para la Gestión de Identidades entre Dominios) más comunes que admite Windsurf.Deshabilitar un usuario (Para habilitar, cambiar false por true):Copiar
Preguntar a la IA
curl -X PATCH \
https://server.codeium.com/scim/v2/Users/<clave de API del usuario> \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <clave secreta de API>' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "active",
"value": false
}
]
}'
Copiar
Preguntar a la IA
curl -X POST \
https://server.codeium.com/scim/v2/Users \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <clave secreta de API>' \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "<email>",
"displayName": "<nombre completo>",
"active": true,
}'
Copiar
Preguntar a la IA
curl -X PATCH \
'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
-H 'Authorization: Bearer <clave de servicio>' \
-H 'Content-Type: application/scim+json' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "<nuevo nombre>"
}
]
}'
Creación de Clave Secreta de API
Ve a https://windsurf.com/team/settings. En Configuración de clave de servicio, haz clic en Configurar, luego en Agregar clave de servicio. Ingresa cualquier nombre de clave (como ‘Clave de aprovisionamiento de Azure’) y haz clic en Crear clave de servicio. Copia la clave generada y guárdala; ahora puedes usar la clave para autorizar las API mencionadas anteriormente.Requisitos previos
Esta guía asume que tienes Duo configurado y actuando como tu IdP organizacional, o que tienes un IdP externo configurado.Necesitarás acceso de administrador tanto a las cuentas de Duo como de Windsurf.Configurar Duo para Windsurf
- Ve a Applications y agrega un proveedor de servicios Generic SAML.

- Ve a SSO en Team Settings.

- Al habilitar SAML por primera vez, se te pedirá que configures tu SSO ID. No podrás cambiarlo más adelante. Se recomienda usar el nombre de tu organización o equipo, solo con caracteres alfanuméricos.
-
Copia el valor de
Entity IDdel portal de Duo y pégalo en el campoIdP Entity IDen el portal de Windsurf. -
Copia el valor de
Single Sign-On URLdel portal de Duo y pégalo en el campoSSO URLen el portal de Windsurf. -
Copia el valor del certificado del portal de Duo y pégalo en el campo
X509 Certificateen el portal de Windsurf.

-
Copia el valor de
SP Identity IDdel portal de Windsurf y pégalo en el campoEntity IDen el portal de Duo. -
Copia el
Callback URL (Assertion Consumer Service URL)del portal de Windsurf y pégalo en el campoAssertion Consumer Service (ACS) URLen el portal de Duo. - En el portal de Duo, configura las declaraciones de atributos de la siguiente manera:

- Habilita el inicio de sesión SAML en el portal de Windsurf para poder probarlo.
- Una vez que la prueba se haya completado correctamente, puedes cerrar sesión. Ahora puedes usar el inicio de sesión con SSO al ir a la página de tu equipo/organización con el SSO ID que configuraste en el paso 3.
Requisitos previos
Esta guía asume que tienes PingID configurado y funcionando como tu IdP organizacional, o que tienes un IdP externo configurado.Necesitarás acceso de administrador a las cuentas de PingID y Windsurf.Configurar PingID para Windsurf
- Ve a Applications y agrega Windsurf como una SAML Application.

- Ve a SSO en Team Settings.

- Al habilitar SAML por primera vez, se te pedirá configurar tu SSO ID. No podrás cambiarlo más adelante.
- En PingID: elige ingresar la configuración manualmente y completa los campos con los siguientes valores:
- ACS URLs: es el
Callback URL (Assertion Consumer Service URL)del portal de Windsurf. - Entity ID: es el
SP Entity IDdel portal de Windsurf.

-
Copia el
Issuer IDde PingID en el valorIdP Entity IDdel portal de Windsurf. -
Copia el valor
Single Signon Servicede PingID en el valorSSO URLdel portal de Windsurf. -
Descarga el Signing Certificate de PingID como X509 PEM (.crt), abre el archivo y copia su contenido en el valor
X509 Certificatedel portal de Windsurf.
- En los mapeos de atributos, asegúrate de mapear:
saml_subject- Email AddressfirstName- Given NamelastName- Family Name

- Agrega o edita cualquier otra política y acceso según lo requiera tu configuración/organización.
- Habilita el inicio de sesión SAML en el portal de Windsurf para poder probarlo.
- Una vez que tu prueba se haya completado correctamente, puedes cerrar sesión. Ahora puedes usar el inicio de sesión con SSO al navegar a la página de tu equipo/organización con el SSO ID que configuraste en el paso 3.