Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.
Esta funcionalidad solo está disponible para usuarios de Teams y Enterprise.
Esta funcionalidad no se aplica a los planes Cognition Platform. En Cognition Platform, el SSO debe configurarse y gestionarse desde la configuración de Cognition Platform.
SSO de Google
Microsoft Entra ID
SSO de Okta
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 el inicio de 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.
Windsurf solo admite SSO iniciado por el SP; actualmente NO se admite el SSO iniciado por el IdP.
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 panel izquierdo.
Haz clic en Add app y luego en Add custom SAML app.
Rellena App name con Windsurf y haz clic en Next.La siguiente pantalla (Google Identity Provider details) en la consola de Google contiene datos que deberás copiar a la configuración de SSO de Windsurf en https://windsurf.com/team/settings.
Copia la SSO URL desde la consola de Google a la configuración de Windsurf en SSO URL
Copia el Entity ID desde la consola de Google a la configuración de Windsurf en IdP Entity ID
Copia el Certificate desde la consola de Google a la configuración de Windsurf en X509 Certificate
Haz clic en Continue en la consola de Google
La siguiente pantalla en la consola de Google requiere que copies datos desde la página de configuración de Codeium:
Copia la Callback URL desde la página de configuración de Codeium a la consola de Google en ACS URL
Copia el 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
La siguiente pantalla en la consola de Google requiere cierta configuración:
Haz clic en Add Mapping, selecciona First name y establece los App attributes en firstName
Haz clic en Add Mapping, selecciona Last name y establece los App attributes en lastName
Haz clic en Finish
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 comprobar que el inicio de sesión funciona según lo esperado. A partir de ahora, todos los usuarios tendrán el inicio de sesión por SSO obligatorio.
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 SP; actualmente NO se admite SSO iniciado por IdP.
Parte 1: Crear una 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 los 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 de Windsurf, haz clic en Set up single sign on y luego en SAML.
Haz clic en Edit en Basic SAML Configuration.
Mantén esta pestaña de Entra ID abierta y abre una pestaña nueva para ir a los ajustes 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 de la página de ajustes de SSO de Windsurf
Reply URL (Assertion Consumer Service URL): Copia el valor de Callback URL de la página de ajustes 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
Parte 3: Configurar los ajustes de SSO en el portal 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
La URL de IdP Entity ID debe terminar con una barra diagonal final / (por ejemplo, https://sts.windows.net/{tenant-id}/). Si la URL no incluye la barra diagonal final, añádela manualmente.
SSO URL: Copia el valor de Login URL de 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 funcione como se espera.
Importante: No cierres sesión ni cierres la página de configuración de Windsurf hasta que hayas probado correctamente el inicio de sesión. Si la prueba falla, es posible que debas solucionar la configuración antes de continuar.
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, Okta, Google Workspace u otro proveedor de identidad que admita SAML, podrás usar SSO con Windsurf.
Windsurf solo admite SSO iniciado por el SP; el SSO iniciado por el IdP NO es compatible actualmente.
Configurar la aplicación del IdP
Haz clic en Applications en la barra lateral izquierda y luego en Create App Integration.
Selecciona SAML 2.0 como método de inicio de sesión.
Establece el nombre de la aplicación como Windsurf (o cualquier otro nombre) y haz clic en Next.Configura los ajustes de SAML como:
Configura las declaraciones de atributos como se muestra a continuación y luego haz clic en Next.
En la sección de comentarios, selecciona “This is an internal app that we have created” y haz clic en Finish.
Registrar Okta como proveedor SAML
Deberías ser redirigido a la pestaña Sign on de tu aplicación SAML personalizada. Ahora tendrás que tomar la información de esta página y completarla en la configuración de SSO de Windsurf.
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:
En este punto, todo debería haber quedado configurado y ahora puedes agregar usuarios a la nueva aplicación de Windsurf en Okta.Debes compartir la URL del portal de inicio de sesión personalizado de tu organización con tus usuarios y pedirles 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.
Advertencias
Ten en cuenta que Windsurf actualmente no admite flujos de inicio de sesión iniciados por el IdP.Tampoco admitimos OIDC todavía.
Solución de problemas
Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)
Esto indica que tu ID de SSO no es válido o que tu SSO URL es incorrecta. Asegúrate de que sea alfanumérica y que no tenga espacios adicionales ni caracteres no válidos. Vuelve a revisar los pasos de la guía y asegúrate de usar 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.
Failed to verify the signature in samlresponse
Esto indica que el valor de tu X509 certificate es incorrecto. Asegúrate de copiar la clave correcta y de que tenga el formato:
Windsurf admite la sincronización SCIM (Sistema para la Gestión de Identidades entre Dominios) 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 se recomienda encarecidamente.Necesitarás:
Acceso de administrador a Microsoft Entra ID/Azure AD
Acceso de administración a Windsurf
Una aplicación de Windsurf existente en Entra ID (normalmente procedente de tu aplicación de SSO existente)
Permisos requeridos para la Clave de servicioLa clave de servicio utilizada para el aprovisionamiento de SCIM (Sistema para la Gestión de Identidades entre Dominios) debe tener los siguientes permisos:
Team User Read - Necesario para leer información de usuarios y grupos
Team User Update - Necesario para crear y actualizar usuarios y grupos
Team User Delete - Necesario para desactivar/eliminar usuarios y grupos
Puedes crear un rol personalizado con estos permisos o utilizar un rol de administrador existente que los incluya.
Paso 1: Crear un Rol con Permisos SCIM (Sistema para la Gestión de Identidades entre Dominios)
Antes de configurar el aprovisionamiento SCIM (Sistema para la Gestión de Identidades entre Dominios), debes crear un rol con los permisos necesarios.
En «Other Settings», haz clic en Configure junto a Role Management
Haz clic en Add Role y asígnale el nombre «SCIM Provisioning»
Añade los siguientes permisos:
Team User Read
Team User Update
Team User Delete
Haz clic en Save
Paso 2: Navega a la aplicación Windsurf existente
Ve a Microsoft Entra ID en Azure, haz clic en Aplicaciones empresariales en la barra lateral izquierda y luego haz clic en la aplicación Windsurf existente en la lista.
Paso 3: Configurar el aprovisionamiento SCIM
Haz clic en Get started bajo Provision User Accounts en el medio (paso 3), y luego haz clic en Get started de nuevo.
En la página de configuración de Aprovisionamiento, selecciona las siguientes opciones.Modo de Aprovisionamiento: AutomáticoCredenciales de Administrador > URL del Tenant: https://server.codeium.com/scim/v2
Mantén 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 Configuración del equipo, selecciona Clave de servicio y haz clic en Agregar clave de servicio. Introduce cualquier nombre de clave (como ‘Aprovisionamiento SCIM (Sistema para la Gestión de Identidades entre Dominios) de Azure’), selecciona el rol “Aprovisionamiento SCIM” que creaste anteriormente, y haz clic en Crear clave de servicio. Copia la clave generada, vuelve a la página de Azure y pégala en Token secreto.
(Lo que deberías ver después de crear la clave en Windsurf)En la página de Aprovisionamiento, haz clic en Test Connection y esto debería verificar la conexión SCIM (Sistema para la Gestión de Identidades entre Dominios).Ahora, arriba del formulario de Aprovisionamiento, haz clic en Guardar.
Paso 4: Configurar el Aprovisionamiento SCIM
Después de hacer clic en Guardar, debería haber aparecido una nueva opción Asignaciones en la página de Aprovisionamiento. Expande Asignaciones y haz clic en Aprovisionar usuarios de Microsoft Entra ID
En Mapeos de atributos, elimina todos los campos bajo displayName, dejando solo los campos userName, active y displayName.
Para active, ahora haz clic en Edit. En Expression, modifica el campo a
NOT([IsSoftDeleted])
Luego haz clic en Aceptar.Los atributos de usuario deben verse así
En la página de Mapeo de Atributos, haz clic en Guardar en la parte superior y regresa a la página de Aprovisionamiento.Ahora haz clic en la misma página, en Asignaciones haz clic en Aprovisionar grupos de Microsoft Entra ID. Ahora solo haz clic en eliminar para externalId, y haz clic en Guardar en la parte superior. Regresa a la página de Aprovisionamiento.
En la página de Aprovisionamiento, en la parte inferior, también debería haber un interruptor de Estado de Aprovisionamiento. Actívalo para habilitar la sincronización SCIM (Sistema para la Gestión de Identidades entre Dominios). A partir de ese momento, cada 40 minutos se sincronizarán tus usuarios y grupos de la aplicación Entra ID con Windsurf.
Haz clic en Guardar para finalizar, ahora has habilitado la sincronización de usuarios y grupos para SCIM (Sistema para la Gestión de Identidades entre Dominios). Solo los usuarios y grupos asignados a la aplicación se sincronizarán con Windsurf. Ten en cuenta que eliminar usuarios solo desactiva su acceso a Windsurf (y evita que ocupen una licencia) en lugar de eliminar usuarios debido al diseño SCIM de Azure.
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 parte 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 lo siguiente en los campos correspondientes: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:
Haz clic en Configure, luego en Add Service Key y asigna un nombre a tu clave de API
Copia la clave de API, vuelve a Okta y pégala en HTTP Header - Authorization
Haz clic en Save después de completar Provisioning Integration.
Paso 3: Configura el aprovisionamiento
En la pestaña de aprovisionamiento, a la izquierda deberían aparecer dos nuevas secciones. Haz clic en To App y en Edit Provisioning to App. Marca las casillas 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 por 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 las métricas 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 que el 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 mediante CURL.Aquí hay 5 APIs principales: Crear Grupo, Agregar miembros del grupo, Reemplazar miembros del grupo, Eliminar Grupo y Listar Usuarios en un Grupo.
Crear Grupo
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"
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nombre del grupo> -H "Authorization: Bearer <clave secreta de API>" -H "Content-Type: application/scim+json"
Listar Grupo
curl -X GET -H "Authorization: Bearer <clave secreta de API>" "https://server.codeium.com/scim/v2/Groups"
Listar Usuarios en un Grupo
curl -X GET -H "Authorization: Bearer <clave secreta de API>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
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 (Sistema para la Gestión de Identidades entre Dominios) o creando la cuenta manualmente) antes de poder agregarlos a un grupo.
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):
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 } ] }'
Ve a https://windsurf.com/team/settings. En Configuración de Clave de servicio, haz clic 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 que actúa 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 SAML genérico.
Ve a SSO en Team Settings.
Al habilitar SAML por primera vez, se te pedirá que configures tu ID de SSO. No podrás cambiarlo más adelante.Se recomienda establecerlo con el nombre de tu organización o equipo usando solo caracteres alfanuméricos.
Copia el valor de Entity ID del portal de Duo y pégalo en el campo IdP Entity ID en el portal de Windsurf.
Copia el valor de Single Sign-On URL del portal de Duo y pégalo en el campo SSO URL en el portal de Windsurf.
Copia el valor del certificado del portal de Duo y pégalo en el campo X509 Certificate en el portal de Windsurf.
Copia el valor de SP Identity ID del portal de Windsurf y pégalo en el campo Entity ID en el portal de Duo.
Copia la Callback URL (Assertion Consumer Service URL) del portal de Windsurf y pégala en el campo Assertion Consumer Service (ACS) URL en el portal de Duo.
En el portal de Duo, configura las declaraciones de atributos como se indica a continuación:
Habilita el inicio de sesión SAML en el portal de Windsurf para poder probarlo.
NOTA: NO CIERRES LA SESIÓN NI LA VENTANA EN ESTE MOMENTO.Si recibes un error o se agota el tiempo de espera, corrige la configuración; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Windsurf.Si cierras la sesión o la ventana sin confirmar una prueba exitosa, podrías quedarte sin acceso.
Una vez que la prueba se complete 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 ID de SSO que configuraste en el paso 3.
Esta guía asume que tienes PingID configurado y que actúa como tu IdP organizacional, o que tienes un IdP externo configurado.Necesitarás acceso de administrador tanto a las cuentas de PingID como de 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 después.
Se recomienda establecerlo como el nombre de tu organización o equipo usando solo caracteres alfanuméricos.
En PingID, elige ingresar la configuración manualmente y completa los campos con los siguientes valores:
ACS URLs: este es el Callback URL (Assertion Consumer Service URL) del portal de Windsurf.
Entity ID: este es el SP Entity ID del portal de Windsurf.
Copia el Issuer ID de PingID en el valor IdP Entity ID del portal de Windsurf.
Copia el valor Single Signon Service de PingID en el valor SSO URL del portal de Windsurf.
Descarga el Signing Certificate desde PingID como X509 PEM (.crt), abre el archivo y copia su contenido en el valor X509 Certificate del portal de Windsurf.
Nota: asegúrate de incluir completas las líneas de inicio y fin con 5 guiones (-) y que no se copien otros caracteres.
En attribute mappings, asegúrate de mapear:
saml_subject - Email Address
firstName - Given Name
lastName - Family Name
Agrega/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.
NOTA: NO CIERRES SESIÓN NI CIERRES LA VENTANA EN ESTE PUNTO.Si aparece un error o se agota el tiempo de espera, corrige tu configuración; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Windsurf.Si cierras sesión o cierras la ventana sin confirmar una prueba exitosa, podrías quedarte sin acceso.
Una vez que la prueba se complete 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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Windsurf Docs","colors":{"primary":"#34E8BB","light":"#34E8BB","dark":"#34E8BB"},"logo":{"light":"https://mintcdn.com/codeium/Hr_wKmLaXZaiQOb6/assets/windsurf-black-logo.svg?fit=max\u0026auto=format\u0026n=Hr_wKmLaXZaiQOb6\u0026q=85\u0026s=9d8592a768328271378364064a81840f","dark":"https://mintcdn.com/codeium/Wq_VJcrav3XIkIsv/assets/windsurf-white-logo.svg?fit=max\u0026auto=format\u0026n=Wq_VJcrav3XIkIsv\u0026q=85\u0026s=cf2529c7ca0b084c690089bc03b55830","href":"https://windsurf.com"},"favicon":{"light":"https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/favicon.png?fit=max\u0026auto=format\u0026n=d8O4q6w3H2CjrirL\u0026q=85\u0026s=4d5b8948a5f906d0cbc35a86c11be09c","dark":"https://mintcdn.com/codeium/d8O4q6w3H2CjrirL/assets/favicon.png?fit=max\u0026auto=format\u0026n=d8O4q6w3H2CjrirL\u0026q=85\u0026s=4d5b8948a5f906d0cbc35a86c11be09c"},"navbar":{"links":[],"primary":{"type":"button","label":"Download","href":"https://windsurf.com/download"}},"footer":{"socials":{"twitter":"https://x.com/windsurf","discord":"https://discord.com/invite/3XFf78nAx5"}},"seo":{"metatags":{"og:image":"https://exafunction.github.io/public/hero/thumbnail_docs.png","twitter:image":"https://exafunction.github.io/public/hero/thumbnail_docs.png","twitter:site":"@windsurf","og:description":"Docs for Windsurf (formerly Codeium): your modern coding superpowers.","og:site_name":"Windsurf Docs","twitter:description":"Docs for Windsurf (formerly Codeium): your modern coding superpowers."},"indexing":"navigable"},"integrations":{"ga4":{"measurementId":"G-8183L9GV0M"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"windsurf/getting-started"},{"language":"fr","href":"fr/windsurf/getting-started"},{"language":"es","href":"es/windsurf/getting-started"},{"language":"de","href":"de/windsurf/getting-started"},{"language":"pt-BR","href":"pt-BR/windsurf/getting-started"},{"language":"zh","href":"zh/windsurf/getting-started"},{"language":"ja","href":"ja/windsurf/getting-started"},{"language":"ro","href":"ro/windsurf/getting-started"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"codeium","hasAudioNarration":false,"actualSubdomain":"codeium","customDomains":["docs.windsurf.com"],"gitSource":{"type":"github","owner":"exafunction","repo":"codeium-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae921b9a7789b0d4de9976b:success","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"en","tag":"Windsurf","count":57},{"language":"de","tag":"Windsurf","count":49},{"language":"es","tag":"Windsurf","count":49},{"language":"fr","tag":"Windsurf","count":49},{"language":"ja","tag":"Windsurf","count":49},{"language":"pt-BR","tag":"Windsurf","count":49},{"language":"ro","tag":"Windsurf","count":49},{"language":"zh","tag":"Windsurf","count":49},{"language":"en","tag":"Windsurf Plugins","count":44},{"language":"de","tag":"Windsurf Plugins","count":44},{"language":"es","tag":"Windsurf Plugins","count":44},{"language":"fr","tag":"Windsurf Plugins","count":44},{"language":"ja","tag":"Windsurf Plugins","count":44},{"language":"pt-BR","tag":"Windsurf Plugins","count":44},{"language":"ro","tag":"Windsurf Plugins","count":44},{"language":"zh","tag":"Windsurf Plugins","count":44},{"language":"en","tag":"Accounts","count":32},{"language":"de","tag":"Konten","count":30},{"language":"es","tag":"Cuentas","count":30},{"language":"fr","tag":"Comptes","count":30},{"language":"ja","tag":"アカウント","count":30},{"language":"pt-BR","tag":"Contas","count":30},{"language":"ro","tag":"Conturi","count":30},{"language":"zh","tag":"账户","count":30},{"language":"en","tag":"Teams \u0026 Enterprise","count":27},{"language":"de","tag":"Teams \u0026 Enterprise","count":26},{"language":"es","tag":"Teams y Enterprise","count":26},{"language":"fr","tag":"Teams et Enterprise","count":26},{"language":"pt-BR","tag":"Teams e Enterprise","count":26},{"language":"en","tag":"API Reference","count":18},{"language":"de","tag":"API-Referenz","count":18},{"language":"es","tag":"Referencia de la API","count":18},{"language":"fr","tag":"Référence de l’API","count":18},{"language":"ja","tag":"API リファレンス","count":18},{"language":"pt-BR","tag":"Referência da API","count":18},{"language":"zh","tag":"API 参考","count":18},{"language":"en","tag":"Editor","count":16},{"language":"de","tag":"Editor","count":14},{"language":"es","tag":"Editor","count":14},{"language":"fr","tag":"Éditeur","count":14},{"language":"ja","tag":"エディタ","count":14},{"language":"ja","tag":"Teams と Enterprise","count":14},{"language":"pt-BR","tag":"Editor","count":14},{"language":"ro","tag":"Editor","count":14},{"language":"ro","tag":"Teams și Enterprise","count":14},{"language":"zh","tag":"编辑器","count":14},{"language":"zh","tag":"Teams 与 Enterprise","count":14},{"language":"en","tag":"Troubleshooting","count":13},{"language":"de","tag":"Fehlerbehebung","count":13},{"language":"fr","tag":"Dépannage","count":13},{"language":"ja","tag":"トラブルシューティング","count":13},{"language":"ro","tag":"Depanare","count":13},{"language":"zh","tag":"故障排查","count":13},{"language":"en","tag":"Cascade","count":12},{"language":"de","tag":"Cascade","count":12},{"language":"es","tag":"Cascade","count":12},{"language":"fr","tag":"Cascade","count":12},{"language":"ja","tag":"Teams \u0026 Enterprise","count":12},{"language":"ja","tag":"Cascade","count":12},{"language":"pt-BR","tag":"Cascade","count":12},{"language":"ro","tag":"Teams \u0026 Enterprise","count":12},{"language":"ro","tag":"Cascade","count":12},{"language":"zh","tag":"Teams 和 Enterprise","count":12},{"language":"zh","tag":"Cascade","count":12},{"language":"en","tag":"Analytics API","count":10},{"language":"de","tag":"Analytics-API","count":10},{"language":"es","tag":"Analytics API","count":10},{"language":"fr","tag":"Analytics API","count":10},{"language":"ja","tag":"Analytics API(アナリティクス API)","count":10},{"language":"pt-BR","tag":"Analytics API","count":10},{"language":"ro","tag":"Analytics API","count":10},{"language":"zh","tag":"Analytics API","count":10},{"language":"ro","tag":"Referință API","count":9},{"language":"de","tag":"Erste Schritte","count":8},{"language":"es","tag":"Primeros pasos","count":8},{"language":"pt-BR","tag":"Primeiros passos","count":8},{"language":"es","tag":"Solución de problemas","count":7},{"language":"pt-BR","tag":"Solução de problemas","count":7},{"language":"en","tag":"Features","count":6},{"language":"fr","tag":"Fonctionnalités","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"es/windsurf/accounts/sso-scim","slug":"/es/windsurf/accounts/sso-scim","pageMetadata":{"title":"Configurar SSO y SCIM","sidebarTitle":"SSO y SCIM","description":"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.","keywords":["SSO","SCIM","inicio de sesión único","Okta","Azure AD","Google SSO","SAML","proveedor de identidad","autenticación","aprovisionamiento","empresarial","equipos"],"href":"/es/windsurf/accounts/sso-scim"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Note,OptimizedImage,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:`Esta funcionalidad solo está disponible para usuarios de Teams y Enterprise.`}),`\n`,_jsx(Note,{children:`Esta funcionalidad no se aplica a los planes Cognition Platform. En Cognition Platform, el SSO debe configurarse y gestionarse desde la configuración de Cognition Platform.`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`SSO de Google`,id:`sso-de-google`,\"data-child-heading-ids\":`[\"configurar-la-aplicaci%C3%B3n-del-idp\"]`,children:[_jsx(_components.p,{children:`Windsurf ahora admite el inicio de 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.`}),_jsx(Note,{children:`Windsurf solo admite SSO iniciado por el SP; actualmente NO se admite el SSO iniciado por el IdP.`}),_jsx(Heading,{level:`3`,id:`configurar-la-aplicación-del-idp`,children:`Configurar la aplicación del IdP`}),_jsxs(_components.p,{children:[`En la consola de administración de Google (admin.google.com), haz clic en `,_jsx(_components.strong,{children:`Apps -> Web and mobile apps`}),` en el panel izquierdo.`]}),_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:[`Haz clic en `,_jsx(_components.strong,{children:`Add app`}),` y luego en `,_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:[`Rellena `,_jsx(_components.strong,{children:`App name`}),` con `,_jsx(_components.code,{children:`Windsurf`}),` y haz clic en `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsxs(_components.p,{children:[`La siguiente pantalla (Google Identity Provider details) en la consola de Google contiene datos que deberás copiar a la configuración de SSO de Windsurf en `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Copia la `,_jsx(_components.strong,{children:`SSO URL`}),` desde la consola de Google a la configuración de Windsurf en `,_jsx(_components.strong,{children:`SSO URL`})]}),`\n`,_jsxs(_components.li,{children:[`Copia el `,_jsx(_components.strong,{children:`Entity ID`}),` desde la consola de Google a la configuración de Windsurf en `,_jsx(_components.strong,{children:`IdP Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Copia el `,_jsx(_components.strong,{children:`Certificate`}),` desde la consola de Google a la configuración de Windsurf en `,_jsx(_components.strong,{children:`X509 Certificate`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Continue`}),` en la consola de Google`]}),`\n`]}),_jsx(_components.p,{children:`La siguiente pantalla en la consola de Google requiere que copies datos desde la página de configuración de Codeium:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Copia la `,_jsx(_components.strong,{children:`Callback URL`}),` desde la página de configuración de Codeium a la consola de Google en `,_jsx(_components.strong,{children:`ACS URL`})]}),`\n`,_jsxs(_components.li,{children:[`Copia el `,_jsx(_components.strong,{children:`SP Entity ID`}),` desde la página de configuración de Codeium a la consola de Google en `,_jsx(_components.strong,{children:`SP Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Cambia el formato de `,_jsx(_components.strong,{children:`Name ID`}),` a `,_jsx(_components.strong,{children:`EMAIL`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Continue`}),` en la consola de Google`]}),`\n`]}),_jsx(_components.p,{children:`La siguiente pantalla en la consola de Google requiere cierta configuración:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Add Mapping`}),`, selecciona `,_jsx(_components.strong,{children:`First name`}),` y establece los `,_jsx(_components.strong,{children:`App attributes`}),` en `,_jsx(_components.strong,{children:`firstName`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Add Mapping`}),`, selecciona `,_jsx(_components.strong,{children:`Last name`}),` y establece los `,_jsx(_components.strong,{children:`App attributes`}),` en `,_jsx(_components.strong,{children:`lastName`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_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:[`En la página de configuración de Codeium, haz clic en `,_jsx(_components.strong,{children:`Enable Login with SAML`}),` y luego en `,_jsx(_components.strong,{children:`Save`}),`. Asegúrate de hacer clic en `,_jsx(_components.strong,{children:`Test Login`}),` para comprobar que el inicio de sesión funciona según lo esperado. A partir de ahora, todos los usuarios tendrán el inicio de sesión por SSO obligatorio.`]})]}),_jsxs(Tab,{title:`Microsoft Entra ID`,id:`microsoft-entra-id`,\"data-child-heading-ids\":`[\"parte-1%3A-crear-una-aplicaci%C3%B3n-enterprise-en-microsoft-entra-id\",\"parte-2%3A-configurar-saml-y-los-atributos-de-usuario-en-microsoft-entra-id\",\"parte-3%3A-configurar-los-ajustes-de-sso-en-el-portal-de-windsurf\"]`,children:[_jsx(_components.p,{children:`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.`}),_jsx(Note,{children:`Windsurf solo admite SSO iniciado por SP; actualmente NO se admite SSO iniciado por IdP.`}),_jsx(Heading,{level:`2`,id:`parte-1-crear-una-aplicación-enterprise-en-microsoft-entra-id`,children:`Parte 1: Crear una aplicación Enterprise en Microsoft Entra ID`}),_jsxs(Note,{children:[`Todos los pasos de esta sección se realizan en el `,_jsx(_components.strong,{children:`centro de administración de Microsoft Entra ID`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`En Microsoft Entra ID, haz clic en `,_jsx(_components.strong,{children:`Add`}),` y luego en `,_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:[`Haz clic en `,_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:[`Nombra tu aplicación `,_jsx(_components.strong,{children:`Windsurf`}),`, selecciona `,_jsx(_components.em,{children:`Integrate any other application you don’t find in the gallery`}),` y luego haz clic en `,_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-y-los-atributos-de-usuario-en-microsoft-entra-id`,children:`Parte 2: Configurar SAML y los atributos de usuario en Microsoft Entra ID`}),_jsxs(Note,{children:[`Todos los pasos de esta sección se realizan en el `,_jsx(_components.strong,{children:`centro de administración de Microsoft Entra ID`}),`.`]}),_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`En tu nueva aplicación de Windsurf, haz clic en `,_jsx(_components.strong,{children:`Set up single sign on`}),` y luego en `,_jsx(_components.strong,{children:`SAML`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Edit`}),` en `,_jsx(_components.strong,{children:`Basic SAML Configuration`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Mantén esta pestaña de Entra ID abierta`}),` y abre una pestaña nueva para ir a los `,_jsx(_components.strong,{children:`ajustes de SSO de Windsurf Teams`}),` en `,_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:[`En el formulario de configuración SAML de `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Identifier (Entity ID)`}),`: Copia el valor de `,_jsx(_components.strong,{children:`SP Entity ID`}),` de la `,_jsx(_components.strong,{children:`página de ajustes de SSO de Windsurf`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reply URL (Assertion Consumer Service URL)`}),`: Copia el valor de `,_jsx(_components.strong,{children:`Callback URL`}),` de la `,_jsx(_components.strong,{children:`página de ajustes de SSO de Windsurf`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Save`}),` en la parte superior`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Configura los atributos de usuario para mostrar correctamente el nombre. En `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`, en `,_jsx(_components.strong,{children:`Attributes \u0026 Claims`}),`, haz clic en `,_jsx(_components.strong,{children:`Edit`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Crea 2 nuevos claims haciendo clic en `,_jsx(_components.strong,{children:`Add new claim`}),` para cada uno:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Primer claim`}),`: Name = `,_jsx(_components.code,{children:`firstName`}),`, Source attribute = `,_jsx(_components.code,{children:`user.givenname`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Segundo 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-los-ajustes-de-sso-en-el-portal-de-windsurf`,children:`Parte 3: Configurar los ajustes de SSO en el portal de Windsurf`}),_jsxs(Note,{children:[`Completa la configuración en el `,_jsx(_components.strong,{children:`portal de Windsurf`}),` (`,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`).`]}),_jsxs(_components.ol,{start:`10`,children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`En la `,_jsx(_components.strong,{children:`página de ajustes de SSO de Windsurf`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`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)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`IdP Entity ID`}),`: Copia el valor de `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),` en `,_jsx(_components.strong,{children:`Set up Windsurf`}),` → `,_jsx(_components.strong,{children:`Microsoft Entra Identifier`}),`\n`,_jsxs(Note,{children:[`La URL de IdP Entity ID debe terminar con una barra diagonal final `,_jsx(_components.code,{children:`/`}),` (por ejemplo, `,_jsx(_components.code,{children:`https://sts.windows.net/{tenant-id}/`}),`). Si la URL no incluye la barra diagonal final, añádela manualmente.`]})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SSO URL`}),`: Copia el valor de `,_jsx(_components.strong,{children:`Login URL`}),` de `,_jsx(_components.strong,{children:`Microsoft Entra ID`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`X509 Certificate`}),`: Descarga el `,_jsx(_components.strong,{children:`SAML certificate (Base64)`}),` desde `,_jsx(_components.strong,{children:`Microsoft Entra ID`}),`, abre el archivo y pega aquí el contenido de texto`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`En el `,_jsx(_components.strong,{children:`portal de Windsurf`}),`, haz clic en `,_jsx(_components.strong,{children:`Enable Login with SAML`}),` y luego en `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Prueba la configuración`}),`: Haz clic en `,_jsx(_components.strong,{children:`Test Login`}),` para verificar que la configuración de SSO funcione como se espera.`]}),`\n`]}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.strong,{children:`Importante`}),`: No cierres sesión ni cierres la página de configuración de Windsurf hasta que hayas probado correctamente el inicio de sesión. Si la prueba falla, es posible que debas solucionar la configuración antes de continuar.`]})]}),_jsxs(Tab,{title:`SSO de Okta`,id:`sso-de-okta`,\"data-child-heading-ids\":`[\"configurar-la-aplicaci%C3%B3n-del-idp-2\",\"registrar-okta-como-proveedor-saml\",\"advertencias\",\"soluci%C3%B3n-de-problemas\",\"login-with-saml-config-failed%3A-firebase%3A-error-auth%2Foperation-not-allowed\",\"login-with-saml-config-failed%3A-firebase%3A-saml-response-%3Cissuer%3E-mismatch-auth%2Finvalid-credential\",\"failed-to-verify-the-signature-in-samlresponse\"]`,children:[_jsx(_components.p,{children:`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, Okta, Google Workspace u otro proveedor de identidad que admita SAML, podrás usar SSO con Windsurf.`}),_jsx(Note,{children:`Windsurf solo admite SSO iniciado por el SP; el SSO iniciado por el IdP NO es compatible actualmente.`}),_jsx(Heading,{level:`3`,id:`configurar-la-aplicación-del-idp-2`,children:`Configurar la aplicación del IdP`}),_jsx(_components.p,{children:`Haz clic en Applications en la barra lateral izquierda y luego en 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:`Selecciona SAML 2.0 como método de inicio de sesión.`}),_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:`Establece el nombre de la aplicación como Windsurf (o cualquier otro nombre) y haz clic en Next.`}),_jsx(_components.p,{children:`Configura los ajustes de SAML como:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Single sign-on URL en `,_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) en `,_jsx(_components.a,{href:`http://www.codeium.com`,children:`www.codeium.com`})]}),`\n`,_jsx(_components.li,{children:`NameID format en EmailAddress`}),`\n`,_jsx(_components.li,{children:`Application username en Email`}),`\n`]}),_jsxs(_components.p,{children:[`Configura las declaraciones de atributos como se muestra a continuación y luego haz clic en `,_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:[`En la sección de comentarios, selecciona “This is an internal app that we have created” y haz clic en `,_jsx(_components.strong,{children:`Finish`}),`.`]}),_jsx(Heading,{level:`3`,id:`registrar-okta-como-proveedor-saml`,children:`Registrar Okta como proveedor SAML`}),_jsx(_components.p,{children:`Deberías ser redirigido a la pestaña Sign on de tu aplicación SAML personalizada. Ahora tendrás que tomar la información de esta página y completarla en la configuración de SSO de Windsurf.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Abre `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),` y haz clic en Configure SAML`]}),`\n`,_jsx(_components.li,{children:`Copia el texto después de ‘Issuer’ en la página de la aplicación de Okta y pégalo en IdP Entity ID`}),`\n`,_jsx(_components.li,{children:`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`}),`\n`,_jsx(_components.li,{children:`Descarga el Signing Certificate y pégalo en X509 certificate`}),`\n`,_jsx(_components.li,{children:`Marca Enable Login with SAML y luego haz clic en Save`}),`\n`,_jsx(_components.li,{children:`Prueba el inicio de sesión con el botón Test Login. Deberías ver un mensaje de éxito:`}),`\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:`En este punto, todo debería haber quedado configurado y ahora puedes agregar usuarios a la nueva aplicación de Windsurf en Okta.`}),_jsx(_components.p,{children:`Debes compartir la URL del portal de inicio de sesión personalizado de tu organización con tus usuarios y pedirles que inicien sesión mediante ese enlace.`}),_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:`Los usuarios que inicien sesión en Windsurf mediante SSO serán aprobados automáticamente en el equipo.`}),_jsx(Heading,{level:`3`,id:`advertencias`,children:`Advertencias`}),_jsx(_components.p,{children:`Ten en cuenta que Windsurf actualmente no admite flujos de inicio de sesión iniciados por el IdP.`}),_jsx(_components.p,{children:`Tampoco admitimos OIDC todavía.`}),_jsx(Heading,{level:`1`,id:`solución-de-problemas`,children:`Solución de problemas`}),_jsx(Heading,{level:`3`,id:`login-with-saml-config-failed-firebase-error-auth/operation-not-allowed`,children:`Login with SAML config failed: 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:`Esto indica que tu ID de SSO no es válido o que tu SSO URL es incorrecta. Asegúrate de que sea alfanumérica y que no tenga espacios adicionales ni caracteres no válidos. Vuelve a revisar los pasos de la guía y asegúrate de usar los valores correctos.`}),_jsx(Heading,{level:`3`,id:`login-with-saml-config-failed-firebase-saml-response-\u003cissuer>-mismatch-auth/invalid-credential`,children:`Login with SAML config failed: 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:`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.`}),_jsx(Heading,{level:`3`,id:`failed-to-verify-the-signature-in-samlresponse`,children:`Failed to verify the signature in samlresponse`}),_jsx(_components.p,{children:`Esto indica que el valor de tu X509 certificate es incorrecto. Asegúrate de copiar la clave correcta y de que tenga el formato:`}),_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 (Sistema para la Gestión de Identidades entre Dominios)`,id:`azure-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios`,\"data-child-heading-ids\":`[\"paso-1%3A-crear-un-rol-con-permisos-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios\",\"paso-2%3A-navega-a-la-aplicaci%C3%B3n-windsurf-existente\",\"paso-3%3A-configurar-el-aprovisionamiento-scim\",\"paso-4%3A-configurar-el-aprovisionamiento-scim\"]`,children:[_jsx(_components.p,{children:`Windsurf admite la sincronización SCIM (Sistema para la Gestión de Identidades entre Dominios) 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 se recomienda encarecidamente.`}),_jsx(_components.p,{children:`Necesitarás:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Acceso de administrador a Microsoft Entra ID/Azure AD`}),`\n`,_jsx(_components.li,{children:`Acceso de administración a Windsurf`}),`\n`,_jsx(_components.li,{children:`Una aplicación de Windsurf existente en Entra ID (normalmente procedente de tu aplicación de SSO existente)`}),`\n`]}),_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Permisos requeridos para la Clave de servicio`})}),_jsx(_components.p,{children:`La clave de servicio utilizada para el aprovisionamiento de SCIM (Sistema para la Gestión de Identidades entre Dominios) debe tener los siguientes permisos:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Read`}),` - Necesario para leer información de usuarios y grupos`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Update`}),` - Necesario para crear y actualizar usuarios y grupos`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team User Delete`}),` - Necesario para desactivar/eliminar usuarios y grupos`]}),`\n`]}),_jsx(_components.p,{children:`Puedes crear un rol personalizado con estos permisos o utilizar un rol de administrador existente que los incluya.`})]}),_jsx(Heading,{level:`2`,id:`paso-1-crear-un-rol-con-permisos-scim-sistema-para-la-gestión-de-identidades-entre-dominios`,children:`Paso 1: Crear un Rol con Permisos SCIM (Sistema para la Gestión de Identidades entre Dominios)`}),_jsx(_components.p,{children:`Antes de configurar el aprovisionamiento SCIM (Sistema para la Gestión de Identidades entre Dominios), debes crear un rol con los permisos necesarios.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Ve a `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`Windsurf Team Settings`})]}),`\n`,_jsxs(_components.li,{children:[`En «Other Settings», haz clic en `,_jsx(_components.strong,{children:`Configure`}),` junto a `,_jsx(_components.strong,{children:`Role Management`})]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Add Role`}),` y asígnale el nombre «SCIM Provisioning»`]}),`\n`,_jsxs(_components.li,{children:[`Añade los siguientes permisos:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Team User Read`}),`\n`,_jsx(_components.li,{children:`Team User Update`}),`\n`,_jsx(_components.li,{children:`Team User Delete`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Save`})]}),`\n`]}),_jsx(Heading,{level:`2`,id:`paso-2-navega-a-la-aplicación-windsurf-existente`,children:`Paso 2: Navega a la aplicación Windsurf existente`}),_jsx(_components.p,{children:`Ve a Microsoft Entra ID en Azure, haz clic en Aplicaciones empresariales en la barra lateral izquierda y luego haz clic en la aplicación Windsurf existente en la 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:`paso-3-configurar-el-aprovisionamiento-scim`,children:`Paso 3: Configurar el aprovisionamiento SCIM`}),_jsx(_components.p,{children:`Haz clic en Get started bajo Provision User Accounts en el medio (paso 3), y luego haz clic en Get started de nuevo.`}),_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:`En la página de configuración de Aprovisionamiento, selecciona las siguientes opciones.`}),_jsx(_components.p,{children:`Modo de Aprovisionamiento: Automático`}),_jsxs(_components.p,{children:[`Credenciales de Administrador > URL del Tenant: `,_jsx(_components.a,{href:`https://server.codeium.com/scim/v2`,children:`https://server.codeium.com/scim/v2`})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=ee0b34f8f0f131441eb9ca9e89ccbcda`,\"data-og-width\":`560`,width:`560`,\"data-og-height\":`416`,height:`416`,\"data-path\":`assets/auth/scim-azure-admin-credentials.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=280\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=c8581d4e4ad89b8a5edf7c138c364854 280w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=560\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=b689bb2e0efdf652f56a2a9b94b51f27 560w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=840\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=9a5e159c52dd929afbc02ce2292f05e5 840w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=1100\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=babac19088e58725307bdadaa495f9d6 1100w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=1650\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=6b2a1255d4ee047ee6f9aa4556dbaa21 1650w, https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure-admin-credentials.png?w=2500\u0026fit=max\u0026auto=format\u0026n=s3SYO8XdSvmrABvq\u0026q=85\u0026s=ebf7a44a0053609e44623549c6aae9b5 2500w`})}),_jsxs(_components.p,{children:[`Mantén 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 Configuración del equipo, selecciona Clave de servicio y haz clic en Agregar clave de servicio. Introduce cualquier nombre de clave (como ‘Aprovisionamiento SCIM (Sistema para la Gestión de Identidades entre Dominios) de Azure’), `,_jsx(_components.strong,{children:`selecciona el rol “Aprovisionamiento SCIM” que creaste anteriormente`}),`, y haz clic en Crear clave de servicio. Copia la clave generada, vuelve a la página de Azure y pégala en Token secreto.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=80477c2c0d31631e38e217b22e9f42a3`,\"data-og-width\":`1612`,width:`1612`,\"data-og-height\":`1013`,height:`1013`,\"data-path\":`assets/auth/scim-azure3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=280\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=c547369cd10d19d77dbdb3586045c027 280w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=560\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=e375425a3fe55cc5425f53e78b34f32f 560w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=840\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=f15b3e3d387acd4ac3371b882595252a 840w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=49e6c3e224944aef0dfa88b13b401a74 1100w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=7dd27466493288c1d49a4327070f9f6f 1650w, https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DnGnXhZxl1qb2EWt\u0026q=85\u0026s=4f40f4c6d50b15c421ba344a2013a8cc 2500w`})}),_jsx(_components.p,{children:`(Lo que deberías ver después de crear la clave en Windsurf)`}),_jsx(_components.p,{children:`En la página de Aprovisionamiento, haz clic en Test Connection y esto debería verificar la conexión SCIM (Sistema para la Gestión de Identidades entre Dominios).`}),_jsx(_components.p,{children:`Ahora, arriba del formulario de Aprovisionamiento, haz clic en Guardar.`}),_jsx(Heading,{level:`2`,id:`paso-4-configurar-el-aprovisionamiento-scim`,children:`Paso 4: Configurar el Aprovisionamiento SCIM`}),_jsx(_components.p,{children:`Después de hacer clic en Guardar, debería haber aparecido una nueva opción Asignaciones en la página de Aprovisionamiento. Expande Asignaciones y haz clic en Aprovisionar usuarios de Microsoft Entra ID`}),_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:`En Mapeos de atributos, elimina todos los campos bajo displayName, dejando solo los campos userName, active y 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, ahora haz clic en Edit. En Expression, modifica el campo a`}),_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:`Luego haz clic en Aceptar.`}),_jsx(_components.p,{children:`Los atributos de usuario deben verse así`}),_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:`En la página de Mapeo de Atributos, haz clic en Guardar en la parte superior y regresa a la página de Aprovisionamiento.`}),_jsx(_components.p,{children:`Ahora haz clic en la misma página, en Asignaciones haz clic en Aprovisionar grupos de Microsoft Entra ID. Ahora solo haz clic en eliminar para externalId, y haz clic en Guardar en la parte superior. Regresa a la página de Aprovisionamiento.`}),_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:`En la página de Aprovisionamiento, en la parte inferior, también debería haber un interruptor de Estado de Aprovisionamiento. Actívalo para habilitar la sincronización SCIM (Sistema para la Gestión de Identidades entre Dominios). A partir de ese momento, cada 40 minutos se sincronizarán tus usuarios y grupos de la aplicación Entra ID con 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:`Haz clic en Guardar para finalizar, ahora has habilitado la sincronización de usuarios y grupos para SCIM (Sistema para la Gestión de Identidades entre Dominios). Solo los usuarios y grupos asignados a la aplicación se sincronizarán con Windsurf. Ten en cuenta que eliminar usuarios solo desactiva su acceso a Windsurf (y evita que ocupen una licencia) en lugar de eliminar usuarios debido al diseño SCIM de Azure.`})]}),_jsxs(Tab,{title:`Okta SCIM (Sistema para la Gestión de Identidades entre Dominios)`,id:`okta-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios`,\"data-child-heading-ids\":`[\"paso-1%3A-navega-a-la-aplicaci%C3%B3n-de-windsurf-existente\",\"paso-2%3A-habilita-el-aprovisionamiento-scim\",\"paso-3%3A-configura-el-aprovisionamiento\",\"paso-4%3A-configura-el-aprovisionamiento-de-grupos-opcional\"]`,children:[_jsx(_components.p,{children:`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.`}),_jsx(_components.p,{children:`Necesitarás:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Acceso de administrador a Okta`}),`\n`,_jsx(_components.li,{children:`Acceso de administrador a Windsurf`}),`\n`,_jsx(_components.li,{children:`Una aplicación de Windsurf existente en Okta (normalmente a partir de tu aplicación de SSO existente)`}),`\n`]}),_jsx(Heading,{level:`2`,id:`paso-1-navega-a-la-aplicación-de-windsurf-existente`,children:`Paso 1: Navega a la aplicación de Windsurf existente`}),_jsx(_components.p,{children:`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.`}),_jsx(Heading,{level:`2`,id:`paso-2-habilita-el-aprovisionamiento-scim`,children:`Paso 2: Habilita el aprovisionamiento SCIM`}),_jsx(_components.p,{children:`En la pestaña General, App Settings, haz clic en Edit en la parte 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.`}),_jsx(_components.p,{children:`Ahora ve a Provisioning, haz clic en Edit e introduce lo siguiente en los campos correspondientes:`}),_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, puedes generar el token desde:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),` y ve a Service Key Configuration`]}),`\n`,_jsx(_components.li,{children:`Haz clic en Configure, luego en Add Service Key y asigna un nombre a tu clave de API`}),`\n`,_jsx(_components.li,{children:`Copia la clave de API, vuelve a Okta y pégala en HTTP Header - Authorization`}),`\n`]}),_jsx(_components.p,{children:`Haz clic en Save después de completar Provisioning Integration.`}),_jsx(Heading,{level:`2`,id:`paso-3-configura-el-aprovisionamiento`,children:`Paso 3: Configura el aprovisionamiento`}),_jsx(_components.p,{children:`En la pestaña de aprovisionamiento, a la izquierda deberían aparecer dos nuevas secciones. Haz clic en To App y en Edit Provisioning to App. Marca las casillas Create Users, Update User Attributes y Deactivate Users, y haz clic en Save.`}),_jsx(_components.p,{children:`Después de este paso, todos los usuarios asignados al grupo se sincronizarán con Windsurf.`}),_jsx(Heading,{level:`2`,id:`paso-4-configura-el-aprovisionamiento-de-grupos-opcional`,children:`Paso 4: Configura el aprovisionamiento de grupos (opcional)`}),_jsx(_components.p,{children:`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 por 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 las métricas de grupos en la página de Analytics.`})]}),_jsxs(Tab,{title:`API de SCIM (Sistema para la Gestión de Identidades entre Dominios)`,id:`api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios`,\"data-child-heading-ids\":`[\"crear-grupo\",\"agregar-miembros-del-grupo\",\"reemplazar-miembros-del-grupo\",\"eliminar-grupo\",\"listar-grupo\",\"listar-usuarios-en-un-grupo\",\"apis-de-usuario\",\"crear-una-clave-secreta-de-api\"]`,children:[_jsx(_components.p,{children:`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).`}),_jsx(_components.p,{children:`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 que el 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 mediante CURL.`}),_jsx(_components.p,{children:`Aquí hay 5 APIs principales: Crear Grupo, Agregar miembros del grupo, Reemplazar miembros del grupo, Eliminar Grupo y Listar Usuarios en un Grupo.`}),_jsx(Heading,{level:`3`,id:`crear-grupo`,children:`Crear 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\": \"\u003cnombre del 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 \u003cclave secreta de API>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`agregar-miembros-del-grupo`,children:`Agregar Miembros del 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/\u003cnombre del 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 \u003cclave secreta de API>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`reemplazar-miembros-del-grupo`,children:`Reemplazar miembros del 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/\u003cnombre del 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 \u003cclave secreta de API>\" -H \"Content-Type: application/scim+json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`eliminar-grupo`,children:`Eliminar 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/\u003cnombre del grupo> -H \"Authorization: Bearer \u003cclave secreta de 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 \u003cclave secreta de API>\" \"https://server.codeium.com/scim/v2/Groups\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`3`,id:`listar-usuarios-en-un-grupo`,children:`Listar Usuarios en un 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 \u003cclave secreta de API>\" \"https://server.codeium.com/scim/v2/Groups/\u003cgroup_id>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(_components.p,{children:`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.`}),_jsx(_components.p,{children:`Ten en cuenta que los usuarios deben crearse en Windsurf (a través de SCIM (Sistema para la Gestión de Identidades entre Dominios) o creando la cuenta manualmente) antes de poder agregarlos a un grupo.`}),_jsx(Heading,{level:`2`,id:`apis-de-usuario`,children:`APIs de Usuario`}),_jsx(_components.p,{children:`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.`}),_jsx(_components.p,{children:`Deshabilitar un usuario (Para habilitar, cambiar 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/\u003cclave de API del usuario> \\\\`})}),`\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 \u003cclave 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:`Crear un usuario:`}),_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 \u003cclave 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: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:`Actualizar nombre:`}),_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 \u003cclave de servicio>' \\\\`})}),`\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:`crear-una-clave-secreta-de-api`,children:`Crear una Clave Secreta de API`}),_jsxs(_components.p,{children:[`Ve a `,_jsx(_components.a,{href:`https://windsurf.com/team/settings`,children:`https://windsurf.com/team/settings`}),`. En Configuración de Clave de servicio, haz clic 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.`]})]}),_jsxs(Tab,{title:`Duo`,id:`duo`,\"data-child-heading-ids\":`[\"requisitos-previos\",\"configurar-duo-para-windsurf\"]`,children:[_jsx(Heading,{level:`2`,id:`requisitos-previos`,children:`Requisitos previos`}),_jsx(_components.p,{children:`Esta guía asume que tienes Duo configurado y que actúa como tu IdP organizacional, o que tienes un IdP externo configurado.`}),_jsx(_components.p,{children:`Necesitarás acceso de administrador tanto a las cuentas de Duo como de Windsurf.`}),_jsx(Heading,{level:`2`,id:`configurar-duo-para-windsurf`,children:`Configurar Duo para Windsurf`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Ve a Applications y agrega un proveedor de servicios SAML genérico.`}),`\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:`Ve a SSO en 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:[`Al habilitar SAML por primera vez, se te pedirá que configures tu ID de SSO. `,_jsx(_components.strong,{children:`No podrás cambiarlo más adelante.`})]}),`\n`,_jsx(_components.p,{children:`Se recomienda establecerlo con el nombre de tu organización o equipo usando solo caracteres alfanuméricos.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copia el valor de `,_jsx(_components.code,{children:`Entity ID`}),` del portal de Duo y pégalo en el campo `,_jsx(_components.code,{children:`IdP Entity ID`}),` en el portal de Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copia el valor de `,_jsx(_components.code,{children:`Single Sign-On URL`}),` del portal de Duo y pégalo en el campo `,_jsx(_components.code,{children:`SSO URL`}),` en el portal de Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copia el valor del certificado del portal de Duo y pégalo en el campo `,_jsx(_components.code,{children:`X509 Certificate`}),` en el portal de 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:[`Copia el valor de `,_jsx(_components.code,{children:`SP Identity ID`}),` del portal de Windsurf y pégalo en el campo `,_jsx(_components.code,{children:`Entity ID`}),` en el portal de Duo.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copia la `,_jsx(_components.code,{children:`Callback URL (Assertion Consumer Service URL)`}),` del portal de Windsurf y pégala en el campo `,_jsx(_components.code,{children:`Assertion Consumer Service (ACS) URL`}),` en el portal de Duo.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`En el portal de Duo, configura las declaraciones de atributos como se indica a continuación:`}),`\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:`Habilita el inicio de sesión SAML en el portal de Windsurf para poder probarlo.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`NOTA: NO CIERRES LA SESIÓN NI LA VENTANA EN ESTE MOMENTO.`})}),_jsx(_components.p,{children:`Si recibes un error o se agota el tiempo de espera, corrige la configuración; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Windsurf.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Si cierras la sesión o la ventana sin confirmar una prueba exitosa, podrías quedarte sin acceso.`})}),_jsxs(_components.ol,{start:`11`,children:[`\n`,_jsx(_components.li,{children:`Una vez que la prueba se complete 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 ID de SSO que configuraste en el paso 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\":`[\"prerrequisitos\",\"configurar-pingid-para-windsurf\"]`,children:[_jsx(Heading,{level:`2`,id:`prerrequisitos`,children:`Prerrequisitos`}),_jsx(_components.p,{children:`Esta guía asume que tienes PingID configurado y que actúa como tu IdP organizacional, o que tienes un IdP externo configurado.`}),_jsx(_components.p,{children:`Necesitarás acceso de administrador tanto a las cuentas de PingID como de Windsurf.`}),_jsx(Heading,{level:`2`,id:`configurar-pingid-para-windsurf`,children:`Configurar PingID para Windsurf`}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Ve a Applications y agrega Windsurf como una 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:`Ve a SSO en 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:[`Al habilitar SAML por primera vez, se te pedirá configurar tu SSO ID. `,_jsx(_components.strong,{children:`No podrás cambiarlo después.`})]}),`\n`]}),_jsx(_components.p,{children:`Se recomienda establecerlo como el nombre de tu organización o equipo usando solo caracteres alfanuméricos.`}),_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsx(_components.li,{children:`En PingID, elige ingresar la configuración manualmente y completa los campos con los siguientes valores:`}),`\n`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`ACS URLs: este es el `,_jsx(_components.code,{children:`Callback URL (Assertion Consumer Service URL)`}),` del portal de Windsurf.`]}),`\n`,_jsxs(_components.li,{children:[`Entity ID: este es el `,_jsx(_components.code,{children:`SP Entity ID`}),` del portal de 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:[`Copia el `,_jsx(_components.code,{children:`Issuer ID`}),` de PingID en el valor `,_jsx(_components.code,{children:`IdP Entity ID`}),` del portal de Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Copia el valor `,_jsx(_components.code,{children:`Single Signon Service`}),` de PingID en el valor `,_jsx(_components.code,{children:`SSO URL`}),` del portal de Windsurf.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Descarga el Signing Certificate desde PingID como X509 PEM (.crt), abre el archivo y copia su contenido en el valor `,_jsx(_components.code,{children:`X509 Certificate`}),` del portal de Windsurf.`]}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Nota`}),`: asegúrate de incluir completas las líneas de inicio y fin con 5 guiones (-) y que no se copien otros caracteres.`]}),_jsxs(_components.ol,{start:`8`,children:[`\n`,_jsx(_components.li,{children:`En attribute mappings, asegúrate 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:`Agrega/edita cualquier otra política y acceso según lo requiera tu configuración/organización.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Habilita el inicio de sesión SAML en el portal de Windsurf para poder probarlo.`}),`\n`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`NOTA: NO CIERRES SESIÓN NI CIERRES LA VENTANA EN ESTE PUNTO.`})}),_jsx(_components.p,{children:`Si aparece un error o se agota el tiempo de espera, corrige tu configuración; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Windsurf.`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Si cierras sesión o cierras la ventana sin confirmar una prueba exitosa, podrías quedarte sin acceso.`})}),_jsxs(_components.ol,{start:`11`,children:[`\n`,_jsx(_components.li,{children:`Una vez que la prueba se complete 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.`}),`\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":"Configurar SSO y SCIM","sidebarTitle":"SSO y SCIM","description":"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.","keywords":["SSO","SCIM","inicio de sesión único","Okta","Azure AD","Google SSO","SAML","proveedor de identidad","autenticación","aprovisionamiento","empresarial","equipos"],"href":"/es/windsurf/accounts/sso-scim"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configurar la aplicación del IdP","slug":"configurar-la-aplicación-del-idp","depth":3,"children":[],"tabId":"sso-de-google"},{"title":"Parte 1: Crear una aplicación Enterprise en Microsoft Entra ID","slug":"parte-1-crear-una-aplicación-enterprise-en-microsoft-entra-id","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Parte 2: Configurar SAML y los atributos de usuario en Microsoft Entra ID","slug":"parte-2-configurar-saml-y-los-atributos-de-usuario-en-microsoft-entra-id","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Parte 3: Configurar los ajustes de SSO en el portal de Windsurf","slug":"parte-3-configurar-los-ajustes-de-sso-en-el-portal-de-windsurf","depth":2,"children":[],"tabId":"microsoft-entra-id"},{"title":"Configurar la aplicación del IdP","slug":"configurar-la-aplicación-del-idp-2","depth":3,"children":[],"tabId":"sso-de-okta"},{"title":"Registrar Okta como proveedor SAML","slug":"registrar-okta-como-proveedor-saml","depth":3,"children":[],"tabId":"sso-de-okta"},{"title":"Advertencias","slug":"advertencias","depth":3,"children":[],"tabId":"sso-de-okta"},{"title":"Solución de problemas","slug":"solución-de-problemas","depth":1,"children":[{"title":"Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)","slug":"login-with-saml-config-failed-firebase-error-auth/operation-not-allowed","depth":3,"children":[],"tabId":"sso-de-okta"},{"title":"Login with SAML config failed: Firebase: SAML Response \u003cIssuer> mismatch. (auth/invalid-credential)","slug":"login-with-saml-config-failed-firebase-saml-response-\u003cissuer>-mismatch-auth/invalid-credential","depth":3,"children":[],"tabId":"sso-de-okta"},{"title":"Failed to verify the signature in samlresponse","slug":"failed-to-verify-the-signature-in-samlresponse","depth":3,"children":[],"tabId":"sso-de-okta"}],"tabId":"sso-de-okta"},{"title":"Paso 1: Crear un Rol con Permisos SCIM (Sistema para la Gestión de Identidades entre Dominios)","slug":"paso-1-crear-un-rol-con-permisos-scim-sistema-para-la-gestión-de-identidades-entre-dominios","depth":2,"children":[],"tabId":"azure-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 2: Navega a la aplicación Windsurf existente","slug":"paso-2-navega-a-la-aplicación-windsurf-existente","depth":2,"children":[],"tabId":"azure-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 3: Configurar el aprovisionamiento SCIM","slug":"paso-3-configurar-el-aprovisionamiento-scim","depth":2,"children":[],"tabId":"azure-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 4: Configurar el Aprovisionamiento SCIM","slug":"paso-4-configurar-el-aprovisionamiento-scim","depth":2,"children":[],"tabId":"azure-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 1: Navega a la aplicación de Windsurf existente","slug":"paso-1-navega-a-la-aplicación-de-windsurf-existente","depth":2,"children":[],"tabId":"okta-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 2: Habilita el aprovisionamiento SCIM","slug":"paso-2-habilita-el-aprovisionamiento-scim","depth":2,"children":[],"tabId":"okta-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 3: Configura el aprovisionamiento","slug":"paso-3-configura-el-aprovisionamiento","depth":2,"children":[],"tabId":"okta-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Paso 4: Configura el aprovisionamiento de grupos (opcional)","slug":"paso-4-configura-el-aprovisionamiento-de-grupos-opcional","depth":2,"children":[],"tabId":"okta-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Crear Grupo","slug":"crear-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Agregar Miembros del Grupo","slug":"agregar-miembros-del-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Reemplazar miembros del grupo","slug":"reemplazar-miembros-del-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Eliminar Grupo","slug":"eliminar-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Listar Grupo","slug":"listar-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Listar Usuarios en un Grupo","slug":"listar-usuarios-en-un-grupo","depth":3,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"APIs de Usuario","slug":"apis-de-usuario","depth":2,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Crear una Clave Secreta de API","slug":"crear-una-clave-secreta-de-api","depth":2,"children":[],"tabId":"api-de-scim-sistema-para-la-gesti%C3%B3n-de-identidades-entre-dominios"},{"title":"Requisitos previos","slug":"requisitos-previos","depth":2,"children":[],"tabId":"duo"},{"title":"Configurar Duo para Windsurf","slug":"configurar-duo-para-windsurf","depth":2,"children":[],"tabId":"duo"},{"title":"Prerrequisitos","slug":"prerrequisitos","depth":2,"children":[],"tabId":"pingid"},{"title":"Configurar PingID para Windsurf","slug":"configurar-pingid-para-windsurf","depth":2,"children":[],"tabId":"pingid"}],"codeExamples":{}},"jsLinks":[],"subdomain":"codeium","siteName":"Windsurf Docs","title":"Configurar SSO y SCIM - Windsurf Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/windsurf/accounts/sso-scim","matchLevel":1},"fr":{"href":"/fr/windsurf/accounts/sso-scim","matchLevel":1},"es":{"href":"/es/windsurf/accounts/sso-scim","matchLevel":0},"de":{"href":"/de/windsurf/accounts/sso-scim","matchLevel":1},"pt-BR":{"href":"/pt-BR/windsurf/accounts/sso-scim","matchLevel":1},"zh":{"href":"/zh/windsurf/accounts/sso-scim","matchLevel":1},"ja":{"href":"/ja/windsurf/accounts/sso-scim","matchLevel":1},"ro":{"href":"/ro/windsurf/accounts/sso-scim","matchLevel":1}}},"lastModified":"2026-03-09T16:56:11.445Z","originalFileLocation":"es/windsurf/accounts/sso-scim.mdx","locale":"es"},"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=\"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en 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=\"Configurar SSO y 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/es/windsurf/accounts/sso-scim\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://exafunction.github.io/public/hero/thumbnail_docs.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Configurar SSO y 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/es/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/es/windsurf/accounts/sso-scim.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.windsurf.com/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.windsurf.com/fr/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.windsurf.com/de/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.windsurf.com/pt-BR/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.windsurf.com/zh/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.windsurf.com/ja/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ro\" href=\"https://docs.windsurf.com/ro/windsurf/accounts/sso-scim\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.windsurf.com/windsurf/accounts/sso-scim\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.windsurf.com/#organization\",\"name\":\"Windsurf Docs\",\"url\":\"https://docs.windsurf.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/codeium/Hr_wKmLaXZaiQOb6/assets/windsurf-black-logo.svg?fit=max\u0026auto=format\u0026n=Hr_wKmLaXZaiQOb6\u0026q=85\u0026s=9d8592a768328271378364064a81840f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.windsurf.com#website\",\"name\":\"Windsurf Docs\",\"url\":\"https://docs.windsurf.com\",\"publisher\":{\"@id\":\"https://docs.windsurf.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim#webpage\",\"url\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim\",\"name\":\"Configurar SSO y SCIM\",\"description\":\"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.\",\"dateModified\":\"2026-03-09T16:56:11.445Z\",\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cuentas\",\"item\":\"https://docs.windsurf.com/es/windsurf/accounts/usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teams y Enterprise\",\"item\":\"https://docs.windsurf.com/es/windsurf/accounts/teams-getting-started\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Configurar SSO y SCIM\",\"item\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim#article\",\"headline\":\"Configurar SSO y SCIM\",\"name\":\"Configurar SSO y SCIM\",\"description\":\"Configura el inicio de sesión único (SSO) y el aprovisionamiento mediante SCIM (Sistema para la Gestión de Identidades entre Dominios) para tu organización usando Google Workspace, Microsoft Azure AD, Okta u otros proveedores de identidad basados en SAML.\",\"url\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim\",\"mainEntityOfPage\":{\"@id\":\"https://docs.windsurf.com/es/windsurf/accounts/sso-scim#webpage\"},\"image\":\"https://exafunction.github.io/public/hero/thumbnail_docs.png\",\"dateModified\":\"2026-03-09T16:56:11.445Z\",\"keywords\":\"SSO, SCIM, inicio de sesión único, Okta, Azure AD, Google SSO, SAML, proveedor de identidad, autenticación, aprovisionamiento, empresarial, equipos\",\"publisher\":{\"@id\":\"https://docs.windsurf.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.windsurf.com#website\"}}]}\u003c/script>","agentPointerHref":"/es/windsurf/accounts/sso-scim.md","siteName":"Windsurf Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/windsurf/accounts/sso-scim"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/windsurf/accounts/sso-scim"}]},{"language":"es","tabs":[{"tab":"Windsurf","groups":[{"group":"Editor","pages":[{"group":"Primeros pasos","pages":[{"title":"Bienvenido a Windsurf","sidebarTitle":"Configuración","href":"/es/windsurf/getting-started"},{"group":"Extensiones recomendadas","pages":[{"title":"Extensiones recomendadas","href":"/es/windsurf/recommended-extensions"},{"title":"C#, .NET y CPP","href":"/es/windsurf/csharp-cpp"}]}]},{"title":"Modelos de IA","sidebarTitle":"Modelos","href":"/es/windsurf/models"},{"title":"Windsurf Tab","sidebarTitle":"Tab","href":"/es/tab/overview"},{"title":"Command","sidebarTitle":"Command","href":"/es/command/windsurf-overview"},{"title":"Lentes de código","href":"/es/command/windsurf-related-features"},{"title":"Terminal","sidebarTitle":"Terminal","href":"/es/windsurf/terminal"},{"title":"Vistas previas de Windsurf","sidebarTitle":"Vistas previas en el navegador","href":"/es/windsurf/previews"},{"title":"Mensajes de commit con IA","href":"/es/windsurf/ai-commit-message"},{"title":"DeepWiki","sidebarTitle":"DeepWiki","href":"/es/windsurf/deepwiki"},{"title":"Codemaps","href":"/es/windsurf/codemaps"},{"title":"Vibe and Replace","sidebarTitle":"Vibe and Replace","href":"/es/windsurf/vibe-and-replace"},{"title":"Configuración avanzada","sidebarTitle":"Avanzado","href":"/es/windsurf/advanced"}]},{"group":"Cascade","pages":[{"title":"Descripción general de Cascade","sidebarTitle":"Descripción general","href":"/es/windsurf/cascade/cascade"},{"title":"Modo Arena","sidebarTitle":"Modo Arena","href":"/es/windsurf/cascade/arena"},{"title":"Modos de Cascade","sidebarTitle":"Modos","href":"/es/windsurf/cascade/modes"},{"title":"Implementaciones de aplicaciones","href":"/es/windsurf/cascade/app-deploys"},{"title":"Búsqueda en la web y en la documentación","href":"/es/windsurf/cascade/web-search"},{"title":"Memories y Rules","href":"/es/windsurf/cascade/memories"},{"title":"Skills","href":"/es/windsurf/cascade/skills"},{"title":"AGENTS.md","sidebarTitle":"AGENTS.md","href":"/es/windsurf/cascade/agents-md"},{"title":"Workflows","sidebarTitle":"Workflows","href":"/es/windsurf/cascade/workflows"},{"title":"Worktrees de Git","sidebarTitle":"Worktrees de Git","href":"/es/windsurf/cascade/worktrees"},{"title":"Model Context Protocol (MCP)","href":"/es/windsurf/cascade/mcp"},{"title":"Hooks de Cascade","href":"/es/windsurf/cascade/hooks"}]},{"group":"Cuentas","pages":[{"title":"Planes y uso de créditos","sidebarTitle":"Uso","href":"/es/windsurf/accounts/usage"},{"title":"Analytics","href":"/es/windsurf/accounts/analytics"},{"group":"Teams y Enterprise","pages":[{"group":"Primeros pasos","pages":[{"title":"Primeros pasos con Teams y Enterprise","sidebarTitle":"Primeros pasos","href":"/es/windsurf/accounts/teams-getting-started"},{"title":"Guía para administradores","href":"/es/windsurf/guide-for-admins"}]},{"title":"Acceso y gestión basados en roles","sidebarTitle":"Acceso basado en roles","href":"/es/windsurf/accounts/rbac-role-management"},{"group":"Referencia de la API","pages":[{"title":"Referencia de la API","href":"/es/windsurf/accounts/api-reference/api-introduction"},{"group":"Analytics API","pages":[{"title":"Analytics API","href":"/es/windsurf/accounts/api-reference/analytics-api-introduction"},{"title":"Obtener Analytics de la página de usuario","api":"POST https://server.codeium.com/api/v1/UserPageAnalytics","href":"/es/windsurf/accounts/api-reference/user-page-analytics"},{"title":"Obtener Analytics de Cascade","api":"POST https://server.codeium.com/api/v1/CascadeAnalytics","href":"/es/windsurf/accounts/api-reference/cascade-analytics"},{"title":"Consulta personalizada de Analytics","api":"POST https://server.codeium.com/api/v1/Analytics","href":"/es/windsurf/accounts/api-reference/custom-analytics"},{"title":"Manejo de errores","href":"/es/windsurf/accounts/api-reference/errors"}]},{"group":"API de uso","pages":[{"title":"Establecer la configuración de uso","api":"POST https://server.codeium.com/api/v1/UsageConfig","href":"/es/windsurf/accounts/api-reference/usage-config"},{"title":"Obtener configuración de uso","api":"POST https://server.codeium.com/api/v1/GetUsageConfig","href":"/es/windsurf/accounts/api-reference/get-usage-config"},{"title":"Obtener saldo de créditos del equipo","api":"POST https://server.codeium.com/api/v1/GetTeamCreditBalance","description":"Obtén el saldo actual de créditos de tu equipo, incluidos los créditos de prompt por asiento, los créditos adicionales y la información del ciclo de Billing.","href":"/es/windsurf/accounts/api-reference/get-team-credit-balance"}]}]},{"title":"Configurar SSO y SCIM","sidebarTitle":"SSO y SCIM","href":"/es/windsurf/accounts/sso-scim"},{"title":"Verificación de dominio","sidebarTitle":"Verificación de dominio","description":"Verifica la propiedad del dominio de tu organización con registros DNS TXT para habilitar SSO (inicio de sesión único), la administración de usuarios y las invitaciones automáticas a equipos en Windsurf.","href":"/es/windsurf/accounts/domain-verification"}]}]},{"group":"Conocimiento del contexto","pages":[{"title":"Conciencia de contexto en Windsurf","sidebarTitle":"Descripción general","href":"/es/context-awareness/windsurf-overview"},{"title":"Fast Context","href":"/es/context-awareness/fast-context"},{"title":"Windsurf Ignore","href":"/es/context-awareness/windsurf-ignore"}]},{"group":"Resolución de problemas","pages":[{"title":"Problemas comunes de Windsurf","sidebarTitle":"Problemas comunes","href":"/es/troubleshooting/windsurf-common-issues"},{"title":"Configuración de proxy en Windsurf Editor","sidebarTitle":"Configuración de proxy","href":"/es/troubleshooting/windsurf-proxy-configuration"},{"title":"Problemas de inspección TLS / SSL en Windsurf","sidebarTitle":"Inspección SSL","href":"/es/troubleshooting/windsurf-ssl-inspection"},{"title":"El servidor de lenguaje falla con 'no space left on device' en Linux","sidebarTitle":"Límites de inotify en Linux","href":"/es/troubleshooting/windsurf-inotify-limits"},{"title":"Problemas conocidos de WSL","sidebarTitle":"Problemas de WSL","href":"/es/troubleshooting/windsurf-wsl-performance"},{"title":"Recopilación de logs de Windsurf","sidebarTitle":"Recopilación de logs","href":"/es/troubleshooting/windsurf-gathering-logs"}]},{"group":"Seguridad","pages":[{"title":"Guía de administración de seguridad FedRAMP","sidebarTitle":"Guía de administración de seguridad FedRAMP","href":"/es/security/security-admin-guide"},{"title":"Reporte de problemas de seguridad","sidebarTitle":"Reportes","href":"/es/security/reporting"}]}]},{"tab":"Windsurf Plugins","pages":[{"title":"Windsurf Plugins","href":"/es/plugins/getting-started"}]}],"global":{"anchors":[{"anchor":"Comunidad en Discord","icon":"discord","href":"https://discord.com/invite/3XFf78nAx5"},{"anchor":"Blog de Windsurf","icon":"newspaper","href":"https://windsurf.com/blog"},{"anchor":"Soporte","icon":"bug","href":"https://windsurf.com/support"}]}},{"language":"de","pages":[{"title":"de","href":"/de/windsurf/accounts/sso-scim"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/windsurf/accounts/sso-scim"}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/windsurf/accounts/sso-scim"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/windsurf/accounts/sso-scim"}]},{"language":"ro","pages":[{"title":"ro","href":"/ro/windsurf/accounts/sso-scim"}]}]},"basePath":"","title":"Configurar SSO y SCIM - Windsurf Docs","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-vIkpUzVS.js","DynamicMarkdown-TAXIW2vN.js","zoom-image-lightbox-y00V8U6G.js","lightbox-handle-r17bVUz3.js"]}