> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar SSO y SCIM

> Configura el inicio de sesión único (SSO) y el aprovisionamiento SCIM para tu organización con Google Workspace, Microsoft Entra ID, Okta u otros proveedores de identidad SAML.

<Note>Esta función solo está disponible para usuarios de Enterprise.</Note>

<Note>Esta función no se aplica a los planes de Cognition Platform. En Cognition Platform, el SSO debe configurarse y gestionarse en Settings.</Note>

<Tabs>
  <Tab title="SSO de Google">
    Devin Desktop ahora admite el inicio de sesión con Single Sign-On (SSO) mediante SAML. Si tu organización usa Microsoft Entra, Okta, Google Workspaces o cualquier otro proveedor de identidad compatible con SAML, podrás usar SSO con Devin Desktop.

    <Note>Devin Desktop solo admite SSO iniciado por SP; actualmente NO se admite el SSO iniciado por IDP.</Note>

    ### 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 la barra lateral izquierda.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7810e96dc693e041669155ed802dadda" width="530" height="788" data-path="desktop/assets/auth/sso-google.png" />
    </Frame>

    Haz clic en **Add app** y luego en **Add custom SAML app**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1b16524d7a4910a763158a7b1640261c" width="514" height="534" data-path="desktop/assets/auth/sso-google2.png" />
    </Frame>

    Completa **App name** con `Windsurf` y haz clic en **Next**.

    La siguiente pantalla de la consola de Google (**Google Identity Provider details**) contiene datos que tendrás que copiar en la configuración de SSO de Devin Desktop en [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    * Copia **SSO URL** de la consola de Google en la configuración de Devin Desktop, en **SSO URL**
    * Copia **Entity ID** de la consola de Google en la configuración de Devin Desktop, en **Idp Entity ID**
    * Copia **Certificate** de la consola de Google en la configuración de Devin Desktop, en **X509 Certificate**
    * Haz clic en **Continue** en la consola de Google

    La siguiente pantalla de la consola de Google requiere que copies datos desde la página de configuración de Codeium

    * Copia **Callback URL** de la página de configuración de Codeium en la consola de Google, en **ACS URL**
    * Copia **SP Entity ID** de la página de configuración de Codeium en 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 de la consola de Google requiere cierta configuración

    * Haz clic en **Add Mapping**, selecciona **First name** y configura **App attributes** como **firstName**
    * Haz clic en **Add Mapping**, selecciona **Last name** y configura **App attributes** como **lastName**
    * Haz clic en **Finish**

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=302216735a61b852fe856bdf08662546" width="2078" height="862" data-path="desktop/assets/auth/sso-google3.png" />
    </Frame>

    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 confirmar que el inicio de sesión funcione como se espera. A partir de ese momento, el inicio de sesión con SSO se aplicará a todos los usuarios.
  </Tab>

  <Tab title="Microsoft Entra ID">
    Devin Desktop Enterprise ahora admite el inicio de sesión con Single Sign-On (SSO) mediante SAML. Si tu organización usa Microsoft Entra ID (antes Azure AD), podrás usar SSO con Devin Desktop.

    <Note>Devin Desktop solo admite SSO iniciado por SP; actualmente NO admite SSO iniciado por IDP.</Note>

    ## Parte 1: Crear una aplicación Enterprise en Microsoft Entra ID

    <Note>Todos los pasos de esta sección se realizan en el **centro de administración de Microsoft Entra ID**.</Note>

    1. En Microsoft Entra ID, haz clic en **Agregar** y luego en **Aplicación empresarial**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6d420c5134b4cfe78b0eb4ea8c63102d" width="854" height="384" data-path="desktop/assets/auth/sso-azure.png" />
    </Frame>

    2. Haz clic en **Crear tu propia aplicación**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=0d65488fc58dddef5132e2302786d97b" width="680" height="202" data-path="desktop/assets/auth/sso-azure2.png" />
    </Frame>

    3. Asigna a tu aplicación el nombre **Devin Desktop**, selecciona *Integrar cualquier otra aplicación que no encuentres en la galería* y luego haz clic en **Crear**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e8f849cd706fba53560dd24b8c7db2f8" width="968" height="342" data-path="desktop/assets/auth/sso-azure3.png" />
    </Frame>

    ## Parte 2: Configurar SAML y los atributos de usuario en Microsoft Entra ID

    <Note>Todos los pasos de esta sección se realizan en el **centro de administración de Microsoft Entra ID**.</Note>

    4. En tu nueva aplicación de Devin Desktop, haz clic en **Configurar inicio de sesión único** y luego en **SAML**.

    5. Haz clic en **Editar** en **Configuración básica de SAML**.

    6. **Mantén abierta esta pestaña de Entra ID** y abre una pestaña nueva para ir a la **configuración de SSO de Teams de Devin Desktop** en [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    7. En la forma de configuración de SAML de **Microsoft Entra ID**:
       * **Identificador (ID de entidad)**: Copia el valor de **ID de entidad de SP** desde la **página de configuración de SSO de Devin Desktop**
       * **URL de respuesta (URL del servicio de consumidor de aserciones)**: Copia el valor de **URL de callback** desde la **página de configuración de SSO de Devin Desktop**
       * Haz clic en **Guardar** en la parte superior

    8. Configura los atributos de usuario para que los nombres se muestren correctamente. En **Microsoft Entra ID**, en **Atributos y reclamaciones**, haz clic en **Editar**.

    9. Crea 2 nuevas reclamaciones haciendo clic en **Agregar nueva reclamación** para cada una:
       * **Primera reclamación**: Nombre = `firstName`, Atributo de origen = `user.givenname`
       * **Segunda reclamación**: Nombre = `lastName`, Atributo de origen = `user.surname`

    ## Parte 3: Configurar los ajustes de SSO en el portal de Devin Desktop

    <Note>Completa la configuración en el **portal de Devin Desktop** ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)).</Note>

    10. En la **página de configuración de SSO de Devin Desktop**:
        * **Elige tu ID de SSO**: Elige un identificador único para el portal de inicio de sesión de tu equipo (esto no se puede cambiar más adelante)
        * **ID de entidad del IdP**: Copia el valor de **Microsoft Entra ID** en **Configurar Devin Desktop** → **Identificador de Microsoft Entra**
          <Note>La URL del ID de entidad del IdP debe terminar con una `/` final (p. ej., `https://sts.windows.net/{tenant-id}/`). Si la URL no incluye la barra final, agrégala manualmente.</Note>
        * **URL de SSO**: Copia el valor de **URL de inicio de sesión** de **Microsoft Entra ID**
        * **Certificado X509**: Descarga el **certificado SAML (Base64)** de **Microsoft Entra ID**, abre el archivo y pega aquí su contenido de texto

    11. En el **portal de Devin Desktop**, haz clic en **Habilitar inicio de sesión con SAML** y luego en **Guardar**.

    12. **Prueba la configuración**: Haz clic en **Probar inicio de sesión** para verificar que la configuración de SSO funcione correctamente.

    <Note>**Importante**: No cierres sesión ni cierres la página de configuración de Devin Desktop hasta que hayas probado correctamente el inicio de sesión. Si la prueba falla, es posible que tengas que solucionar el problema de configuración antes de continuar.</Note>
  </Tab>

  <Tab title="SSO de Okta">
    Devin Desktop Enterprise ahora admite el inicio de sesión único (SSO) mediante SAML. Si tu organización usa Microsoft Entra, Okta, Google Workspaces o cualquier otro proveedor de identidad compatible con SAML, podrás usar SSO con Devin Desktop.

    <Note>Devin Desktop solo admite SSO iniciado por el SP; actualmente NO se admite SSO iniciado por el IDP.</Note>

    ### Configurar la aplicación del IdP

    Haz clic en Applications en la barra lateral izquierda y luego en Create App Integration

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6eb8809b268cee036ff026efbf3d2a8b" width="1248" height="962" data-path="desktop/assets/auth/sso-okta1.png" />
    </Frame>

    Selecciona SAML 2.0 como método de inicio de sesión

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8ac307ec0fa12222044fe6bffd8815ff" width="1600" height="1023" data-path="desktop/assets/auth/sso-okta2.png" />
    </Frame>

    Establece el nombre de la app como Devin Desktop (o cualquier otro nombre) y haz clic en Next

    Configura los ajustes de SAML de la siguiente manera

    * Single sign-on URL como [https://auth.windsurf.com/\&#95;\&#95;/auth/handler](https://auth.windsurf.com/\&#95;\&#95;/auth/handler)
    * Audience URI (SP Entity ID) como [www.codeium.com](http://www.codeium.com)
    * NameID format como EmailAddress
    * Application username como Email

    Configura las declaraciones de atributos de la siguiente manera y luego haz clic en **Next**.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2a8c2ee27d3b989fd3f888178c3fa290" width="1398" height="602" data-path="desktop/assets/auth/sso-okta3.png" />
    </Frame>

    En la sección de feedback, selecciona “This is an internal app that we have created” y haz clic en **Finish**.

    ### Registrar Okta como proveedor de SAML

    Deberías ser redirigido a la pestaña Sign on de tu aplicación SAML personalizada. Ahora debes tomar la información de esta página y completarla en la configuración de SSO de Devin Desktop.

    * Abre [https://windsurf.com/team/settings](https://windsurf.com/team/settings) y haz clic en Configure SAML
    * Copia el texto después de ‘Issuer’ en la página de la aplicación de Okta y pégalo en Idp Entity ID
    * Copia el texto después de ‘Sign on URL’ en la página de la aplicación de Okta y pégalo en SSO URL
    * Descarga el Signing Certificate y pégalo en X509 certificate
    * Marca Enable Login with SAML y luego haz clic en Save
    * Prueba el inicio de sesión con el botón Test Login. Deberías ver un mensaje de éxito:

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2ef70eafed0d4ba96ce4a8edd3fee22e" width="1046" height="270" data-path="desktop/assets/auth/sso-okta4.png" />
    </Frame>

    En este punto, todo debería estar configurado y ya puedes agregar usuarios a la nueva aplicación de Okta de Devin Desktop.

    Debes compartir con tus usuarios la URL personalizada del portal de inicio de sesión de tu organización y pedirles que inicien sesión desde ese enlace.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=b5fda36a5d2c90e95351ec8718da43e7" width="988" height="312" data-path="desktop/assets/auth/sso-okta5.png" />
    </Frame>

    Los usuarios que inicien sesión en Devin Desktop mediante SSO se aprobarán automáticamente en el equipo.

    ### Limitaciones

    Ten en cuenta que Devin Desktop actualmente no admite flujos de inicio de sesión iniciados por el IDP.

    Tampoco admitimos aún OIDC.

    # Solución de problemas

    ### Error en la configuración de inicio de sesión con SAML: Firebase: Error (auth/operation-not-allowed)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=08b82467d671872b5aec9ea7ec5e9894" width="617" height="92" data-path="desktop/assets/auth/sso-okta6.png" />
    </Frame>

    Esto indica que tu ID de SSO no es válido o que la URL de SSO es incorrecta. Asegúrate de que sea alfanumérica y 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.

    ### Error en la configuración de inicio de sesión con SAML: Firebase: SAML Response \<Issuer> mismatch. (auth/invalid-credential)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7c2bd2cdffd3a61145313cb209572ae5" width="752" height="117" data-path="desktop/assets/auth/sso-okta7.png" />
    </Frame>

    Esto indica que el ID de entidad de tu IdP no es válido. Asegúrate de copiarlo correctamente desde el portal de Okta, sin caracteres ni espacios adicionales antes o después de la cadena.

    ### No se pudo verificar la firma en samlresponse

    Esto indica que el valor de tu certificado X509 es incorrecto. Asegúrate de copiar la clave correcta y de que tenga el siguiente formato:

    ```
    -----BEGIN CERTIFICATE-----
    value
    ------END CERTIFICATE------
    ```
  </Tab>

  <Tab title="SCIM de Microsoft Entra ID">
    Devin Desktop admite la sincronización SCIM para usuarios y grupos con Microsoft Entra ID. No es necesario configurar el SSO para usar la sincronización SCIM, pero se recomienda encarecidamente.

    Necesitarás:

    * Acceso de Admin a Microsoft Entra ID
    * Acceso de Admin a Devin Desktop
    * Una aplicación de escritorio de Devin ya existente en Entra ID (normalmente, de tu aplicación de SSO existente)

    <Note>
      **Permisos requeridos para la clave de servicio**

      La clave de servicio utilizada para el aprovisionamiento de SCIM 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 usar un rol de Admin existente que los incluya.
    </Note>

    ## Paso 1: Crear un rol con permisos SCIM

    Antes de configurar el aprovisionamiento SCIM, debes crear un rol con los permisos necesarios.

    1. Ve a [Windsurf Team Settings](https://windsurf.com/team/settings)
    2. En "Other Settings", haz clic en **Configurar** junto a **Role Management**
    3. Haz clic en **Agregar rol** y asígnale el nombre de "Aprovisionamiento SCIM"
    4. Agrega los siguientes permisos:
       * Ver usuario del equipo
       * Actualizar usuario del equipo
       * Eliminar usuario del equipo
    5. Haz clic en **Guardar**

    ## Paso 2: Ve a la aplicación existente de Devin Desktop

    Ve a Microsoft Entra ID en Azure, haz clic en Enterprise applications en la barra lateral izquierda y luego haz clic en la aplicación Devin Desktop existente en la lista.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=fb5751e72abe48cf1b3538e5a44bdefb" width="1258" height="664" data-path="desktop/assets/auth/scim-azure.png" />
    </Frame>

    ## Paso 3: Configurar el aprovisionamiento SCIM

    Haz clic en Get started, debajo de Provision User Accounts en el centro (paso 3), y luego haz clic en Get started nuevamente.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ca6c92bd1b8c613abed615592ae3d2fe" width="2582" height="1858" data-path="desktop/assets/auth/scim-azure2.png" />
    </Frame>

    En la página de configuración de aprovisionamiento, seleccione las siguientes opciones.

    Modo de aprovisionamiento:  Automático

    Admin Credentials > URL de tenant: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure-admin-credentials.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=96e23cf9346819cc6ffd82cdbf5b6258" width="560" height="416" data-path="desktop/assets/auth/scim-azure-admin-credentials.png" />
    </Frame>

    Deje abierta la página de aprovisionamiento de Azure, vaya al portal web de Devin Desktop y haga clic en el icono de perfil en la barra de navegación en la parte superior de la página. En Team Settings, seleccione Service Key y haga clic en Add Service Key. Ingrese un nombre para la clave (como 'Azure SCIM Provisioning'), **seleccione el rol "SCIM Provisioning" que creó anteriormente** y haga clic en Create Service Key. Copie la clave generada, vuelva a la página de Azure y péguela en Secret Token.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=a52f8263be88f02ff8aff6e13024d4eb" width="1612" height="1013" data-path="desktop/assets/auth/scim-azure3.png" />
    </Frame>

    (Lo que deberías ver después de crear la clave en Devin Desktop)

    En la página de aprovisionamiento, haz clic en Test Connection; esto debería verificar la conexión SCIM.

    Ahora, en la parte superior de la forma de aprovisionamiento, haz clic en Guardar.

    ## Paso 4: Configurar el aprovisionamiento SCIM

    Después de hacer clic en Save, debería aparecer una nueva opción llamada Mappings en la página de aprovisionamiento. Expanda Mappings y haga clic en Provision Microsoft Entra ID Users

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=24e984597151c2f9cbb27f1a1718ca8a" width="666" height="438" data-path="desktop/assets/auth/scim-azure4.png" />
    </Frame>

    En la sección de asignaciones de atributos, elimine todos los campos bajo displayName, dejando únicamente los campos userName, active y displayName.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1dc3ac7839403c2ce6cb6d93ff51fc65" width="1260" height="190" data-path="desktop/assets/auth/scim-azure5.png" />
    </Frame>

    Para active, haz clic en Edit. En Expression, modifica el campo a

    ```
    NOT([IsSoftDeleted])
    ```

    Luego haz clic en Ok.

    Tus atributos de usuario deberían verse así

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1e2db093b70de25fc98a9ffec9a924a6" width="2826" height="490" data-path="desktop/assets/auth/scim-azure6.png" />
    </Frame>

    En la página Attribute Mapping, haz clic en Save en la parte superior y regresa a la página de aprovisionamiento.

    En la misma página, en Mappings, haga clic en Provision Microsoft Entra ID Groups. A continuación, haga clic en eliminar únicamente para externalId y luego en Save en la parte superior. Vuelva a la página de Provisioning.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8022adf3c12a09dbc8f58177c6e4e3bf" width="1258" height="203" data-path="desktop/assets/auth/scim-azure7.png" />
    </Frame>

    En la parte inferior de la página de aprovisionamiento, también debería aparecer un toggle de Estado de aprovisionamiento. Actívalo para habilitar la sincronización SCIM. A partir de ese momento, los usuarios y grupos de la aplicación de Entra ID se sincronizarán con Devin Desktop cada 40 minutos.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure8.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ab5ad845885e6f3e3b915f0112e58eaf" width="686" height="306" data-path="desktop/assets/auth/scim-azure8.png" />
    </Frame>

    Haga clic en Save para finalizar; la sincronización de usuarios y grupos para SCIM ya está habilitada. Solo los usuarios y grupos asignados a la aplicación se sincronizarán con Devin Desktop. Tenga en cuenta que eliminar usuarios únicamente les revoca el acceso a Devin Desktop (y libera su licencia), sin eliminarlos por completo, debido al diseño de SCIM de Azure.
  </Tab>

  <Tab title="Okta SCIM">
    Devin Desktop admite la sincronización SCIM de usuarios y grupos con Okta. No es necesario configurar SSO para usar la sincronización SCIM, pero es muy recomendable.

    Necesitarás:

    * Acceso de Admin a Okta
    * Acceso de Admin a Devin Desktop
    * Una aplicación existente de Devin Desktop en Okta (normalmente, tu aplicación de SSO existente)

    ## Paso 1: Ve a la aplicación existente de Devin Desktop

    Ve a Okta, haz clic en Applications, luego en Applications en la barra lateral izquierda y, después, haz clic en la aplicación existente de Devin Desktop en la lista de aplicaciones.

    ## Paso 2: Habilita el aprovisionamiento SCIM

    En la pestaña general, en 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 aparecer 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/v2](https://server.codeium.com/scim/v2)

    Campo de identificador único para usuarios: email

    Acciones de aprovisionamiento compatibles: Push New Users, Push Profile Updates, Push Groups

    Modo de autenticación: HTTP Header

    Para HTTP Header - Authorization, puedes generar el token desde:

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings) y ve a Service Key Configuration
    * Haz clic en Configure, luego en Add Service Key, y ponle un nombre a tu API key
    * Copia la API key, 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 provisioning, debería haber dos pestañas nuevas a la izquierda. Haz clic en To App y luego 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 Devin Desktop.

    ## Paso 4: Configura el aprovisionamiento de grupos (opcional)

    Para sincronizar grupos con Devin Desktop, tendrás que especificar qué grupos enviar. En la aplicación, haz clic en la pestaña Push Groups en la parte superior. Luego haz clic en + Push Groups -> Find Groups by name. Filtra el grupo que quieras agregar, asegúrate de que Push group memberships immediately esté marcado y, después, haz clic en Save. Se creará el grupo y sus miembros se sincronizarán con Devin Desktop. Luego, los grupos se pueden usar para filtrar la analítica por grupo en la página de analytics.
  </Tab>

  <Tab title="API de SCIM">
    Esta guía explica cómo crear y administrar grupos en Devin Desktop mediante la API de SCIM.

    Hay casos en los que puede ser preferible aprovisionar grupos de forma manual en lugar de hacerlo a través del Identity Provider (Azure/Okta). Es posible que las empresas deseen aprovisionar Groups desde una fuente interna diferente (sitio web de RR. HH., herramienta de gestión de código fuente, etc.) a la que Devin Desktop no tiene acceso, o que necesiten un control más granular sobre los Groups del que ofrece su Identity Provider. En ese caso, los Groups pueden crearse mediante una API a través de una solicitud HTTP. A continuación se muestran ejemplos de la solicitud HTTP mediante CURL.

    Aquí hay 5 APIs principales: Create Group, Add group members, Replace group members, Delete Group y List Users in a Group.

    ### Crear grupo

    ```
    curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
    "displayName": "<group name>",
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
    }' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Agregar miembros al grupo

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "add",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Reemplazar miembros del grupo

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "replace",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Eliminar grupo

    ```
    curl -X DELETE https://server.codeium.com/scim/v2/Groups/<group name> -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### Listar grupo

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups"
    ```

    ### Listar usuarios en un grupo

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
    ```

    Primero deberás crear el grupo y luego reemplazarlo para crear un grupo con miembros. También deberás codificar en URL los nombres de grupo si el nombre contiene un carácter especial como un espacio; por ejemplo, un nombre de grupo como 'Engineering Group' deberá escribirse como 'Engineering%20Group' en la URL.

    Ten en cuenta que los usuarios deben crearse en Devin Desktop (mediante SCIM o creando la cuenta manualmente) antes de poder agregarlos a un grupo.

    ## APIs de usuario

    También existen APIs para usuarios. A continuación se muestran algunas de las APIs de SCIM más comunes que Devin Desktop admite.

    Deshabilitar un usuario (para habilitarlo, reemplaza false por true):

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "active",
            "value": false
          }
        ]
      }'
    ```

    Deshabilitar el acceso CLI para un usuario (establezca `cliActive` en `true` para volver a habilitarlo):

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "cliActive",
            "value": false
          }
        ]
      }'
    ```

    El atributo `cliActive` controla si un usuario puede acceder a Devin CLI. Es independiente del atributo `active`: deshabilitar el acceso a la CLI no afecta la licencia del usuario ni su acceso a otros productos de Devin Desktop. Si `cliActive` no está configurado para un usuario, se aplica la política de acceso a la CLI predeterminada del equipo.

    Crear un usuario:

    ```
    curl -X POST \
      https://server.codeium.com/scim/v2/Users \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
        "userName": "<email>",
        "displayName": "<full name>",
        "active": true
    }'
    ```

    Actualizar nombre:

    ```
    curl -X PATCH \
      'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
        -H 'Authorization: Bearer <service key>' \
        -H 'Content-Type: application/scim+json' \
        -d '{
          "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
          "Operations": [
            {
              "op": "Replace",
              "path": "displayName",
              "value": "<new name>"
            }
          ]
       }'
    ```

    ## Creación de una clave secreta de API

    Ve a [https://windsurf.com/team/settings](https://windsurf.com/team/settings). En Service Key Configuration, haz clic en Add Service Key. Ingresa cualquier nombre para la clave (como 'Azure Provisioning Key') y haz clic en Create Service Key. Copia la clave generada y guárdala; ya puedes usarla para autorizar las APIs mencionadas anteriormente.
  </Tab>

  <Tab title="Duo">
    ## Requisitos previos

    Esta guía asume que tienes Duo configurado y que actúa como el IdP de tu organización, o bien que tienes configurado un IdP externo.

    Necesitarás acceso de administrador tanto a las cuentas de Duo como a las de Devin Desktop.

    ## Configurar Duo para Devin Desktop

    1. Ve a Applications y agrega un proveedor de servicios SAML genérico

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2337f30b719803b6be1ec02862918196" width="2230" height="920" data-path="desktop/assets/auth/duo-sso-1.png" />
    </Frame>

    2. Ve a SSO en Team Settings

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. Al habilitar SAML por primera vez, se te pedirá que configures tu ID de SSO. **No podrás cambiarlo después.**

       Se recomienda usar el nombre de tu organización o equipo y solo caracteres alfanuméricos.

    4. Copia el valor de `Entity ID` del portal de Duo y pégalo en el campo `IdP Entity ID` del portal de Devin Desktop.

    5. Copia el valor de `Single Sign-On URL` del portal de Duo y pégalo en el campo `SSO URL` del portal de Devin Desktop.

    6. Copia el valor del certificado del portal de Duo y pégalo en el campo `X509 Certificate` del portal de Devin Desktop

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7fbbc321d2ceb76480c6cc4a6b78d905" width="1536" height="290" data-path="desktop/assets/auth/duo-sso-3.png" />
    </Frame>

    7. Copia el valor de `SP Identity ID` del portal de Devin Desktop y pégalo en el campo `Entity ID` del portal de Duo.

    8. Copia la `Callback URL (Assertion Consumer Service URL)` del portal de Devin Desktop y pégala en el campo `Assertion Consumer Service (ACS) URL` del portal de Duo.

    9. En el portal de Duo, configura las declaraciones de atributos de la siguiente manera:

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e5ac0ecad074d144d4d2b0cceaf341eb" width="1676" height="290" data-path="desktop/assets/auth/duo-sso-4.png" />
    </Frame>

    10. Habilita el inicio de sesión SAML en el portal de Devin Desktop 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, revisa la configuración para solucionar el problema; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Devin Desktop.

    **Si cierras sesión o cierras la ventana sin confirmar que la prueba fue exitosa, podrías quedarte sin acceso.**

    11. Una vez que la prueba se haya completado correctamente, puedes cerrar sesión. Ahora puedes usar el inicio de sesión con SSO al entrar en la página de tu equipo/organización con el ID de SSO que configuraste en el paso 3.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>

  <Tab title="PingID">
    ## Requisitos previos

    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 a las de Devin Desktop.

    ## Configurar PingID para Devin Desktop

    1. Ve a Applications y agrega Devin Desktop como una aplicación SAML

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=842b8c157a663e3a2bfec30f047b414d" width="2258" height="1068" data-path="desktop/assets/auth/pingid-1.png" />
    </Frame>

    2. Ve a SSO en Team Settings

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. Al habilitar SAML por primera vez, deberás configurar tu ID de SSO. **No podrás cambiarlo más adelante.**

    Se recomienda configurarlo con el nombre de tu organización o equipo, usando solo caracteres alfanuméricos.

    4. En PingID, elige ingresar la configuración manualmente y completa los campos con los siguientes valores:

    * ACS URLs - esta es la `Callback URL (Assertion Consumer Service URL)` del portal de Devin Desktop.
    * Entity ID - este es el `SP Entity ID` del portal de Devin Desktop.

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8891f68b0286963b01cedcd19d63e03c" width="974" height="672" data-path="desktop/assets/auth/pingid-3.png" />
    </Frame>

    5. Copia el `Issuer ID` de PingID en el valor `IdP Entity ID` del portal de Devin Desktop.

    6. Copia el valor `Single Signon Service` de PingID en el valor `SSO URL` del portal de Devin Desktop.

    7. Descarga el certificado de firma desde PingID como X509 PEM (.crt), abre el archivo y copia su contenido en el valor `X509 Certificate` del portal de Devin Desktop.

    **Nota**: asegúrate de incluir las líneas de inicio y fin con 5 guiones (-) y de que no se copie ningún otro carácter.

    8. En los mapeos de atributos, asegúrate de mapear:

    * `saml_subject` - Dirección de correo electrónico
    * `firstName` - Nombre
    * `lastName` - Apellido

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=84d8f8b8804c4838673dfbf3ee8d5eee" width="1398" height="780" data-path="desktop/assets/auth/pingid-4.png" />
    </Frame>

    9. Agrega o edita cualquier otra política y acceso según lo requiera tu configuración/organización

    10. Habilita el inicio de sesión SAML en el portal de Devin Desktop 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 la configuración; de lo contrario, tendrás que deshabilitar la configuración de SAML en el portal de Devin Desktop.

    **Si cierras sesión o cierras la ventana sin confirmar que la prueba fue exitosa, podrías quedarte sin acceso.**

    11. Una vez que la prueba se haya completado correctamente, puedes cerrar sesión. Ahora puedes usar el inicio de sesión con SSO al ir a la página de tu equipo/organización con el ID de SSO que configuraste en el paso 3.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>
</Tabs>
