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

# Configurer le SSO & SCIM

> Configurez l’authentification unique (SSO) et le provisionnement SCIM pour votre organisation à l’aide de Google Workspace, Microsoft Entra ID, Okta ou d’autres fournisseurs d’identité SAML.

<Note>Cette fonctionnalité est uniquement disponible pour les utilisateurs Enterprise.</Note>

<Note>Cette fonctionnalité ne s’applique pas aux plans Cognition Platform. Pour Cognition Platform, le SSO doit être configuré et géré dans les Settings de Cognition Platform à la place.</Note>

<Tabs>
  <Tab title="SSO avec Google">
    Devin Desktop prend désormais en charge la connexion via l’authentification unique (SSO) avec SAML. Si votre organisation utilise Microsoft Entra, Okta, Google Workspace ou un autre fournisseur d’identité compatible avec SAML, vous pourrez utiliser le SSO avec Devin Desktop.

    <Note>Devin Desktop prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IdP n’est PAS pris en charge actuellement.</Note>

    ### Configurer l’application IdP

    Dans la console d’administration Google (admin.google.com), cliquez sur **Applications -> Applications Web et mobiles** dans le menu de gauche.

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

    Cliquez sur **Ajouter une application**, puis sur **Ajouter une application SAML personnalisée**.

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

    Renseignez le champ **Nom de l’application** avec `Windsurf`, puis cliquez sur **Suivant**.

    L’écran suivant (détails du fournisseur d’identité Google) dans la console Google contient des données que vous devrez copier dans les paramètres SSO de Devin Desktop sur [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    * Copiez **URL SSO** depuis la console Google vers les paramètres de Devin Desktop, dans **URL SSO**
    * Copiez **ID d’entité** depuis la console Google vers les paramètres de Devin Desktop, dans **ID d’entité IdP**
    * Copiez **Certificat** depuis la console Google vers les paramètres de Devin Desktop, dans **Certificat X509**
    * Cliquez sur **Continuer** dans la console Google

    L’écran suivant de la console Google vous demande de copier des données depuis la page des paramètres de Codeium

    * Copiez **URL de rappel** depuis la page des paramètres de Codeium vers la console Google, dans **URL ACS**
    * Copiez **ID d’entité SP** depuis la page des paramètres de Codeium vers la console Google, dans **ID d’entité SP**
    * Remplacez le format de **Name ID** par **EMAIL**
    * Cliquez sur **Continuer** dans la console Google

    L’écran suivant de la console Google nécessite quelques réglages

    * Cliquez sur **Ajouter un mappage**, sélectionnez **Prénom** et définissez **Attributs de l’application** sur **firstName**
    * Cliquez sur **Ajouter un mappage**, sélectionnez **Nom** et définissez **Attributs de l’application** sur **lastName**
    * Cliquez sur **Terminer**

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

    Sur la page des paramètres de Codeium, cliquez sur **Activer la connexion avec SAML**, puis sur **Enregistrer**. Assurez-vous de cliquer sur **Tester la connexion** pour vérifier que tout fonctionne comme prévu. La connexion via SSO sera alors imposée à tous les utilisateurs.
  </Tab>

  <Tab title="Microsoft Entra ID">
    Devin Desktop Enterprise prend désormais en charge la connexion par authentification unique (SSO) via SAML. Si votre organisation utilise Microsoft Entra ID (anciennement Azure AD), vous pourrez utiliser le SSO avec Devin Desktop.

    <Note>Devin Desktop prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IdP n’est PAS pris en charge actuellement.</Note>

    ## Partie 1 : Créer une application Enterprise dans Microsoft Entra ID

    <Note>Toutes les étapes de cette section sont effectuées dans le **centre d’administration Microsoft Entra ID**.</Note>

    1. Dans Microsoft Entra ID, cliquez sur **Add**, puis sur **Enterprise Application**.

    <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. Cliquez sur **Create your own application**.

    <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. Nommez votre application **Devin Desktop**, sélectionnez *Integrate any other application you don't find in the gallery*, puis cliquez sur **Create**.

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

    ## Partie 2 : Configurer SAML et les attributs utilisateur dans Microsoft Entra ID

    <Note>Toutes les étapes de cette section sont effectuées dans le **centre d’administration Microsoft Entra ID**.</Note>

    4. Dans votre nouvelle application Devin Desktop, cliquez sur **Set up single sign on**, puis sur **SAML**.

    5. Cliquez sur **Edit** sous **Basic SAML Configuration**.

    6. **Laissez cet onglet Entra ID ouvert** et ouvrez un nouvel onglet pour accéder aux **paramètres SSO de Devin Desktop Teams** à l’adresse [https://windsurf.com/team/settings](https://windsurf.com/team/settings).

    7. Dans le formulaire de configuration SAML de **Microsoft Entra ID** :
       * **Identifier (Entity ID)** : copiez la valeur **SP Entity ID** depuis la **page des paramètres SSO de Devin Desktop**
       * **Reply URL (Assertion Consumer Service URL)** : copiez la valeur **Callback URL** depuis la **page des paramètres SSO de Devin Desktop**
       * Cliquez sur **Save** en haut de la page

    8. Configurez les attributs utilisateur pour que le nom s’affiche correctement. Dans **Microsoft Entra ID**, sous **Attributes & Claims**, cliquez sur **Edit**.

    9. Créez 2 nouveaux claims en cliquant sur **Add new claim** pour chacun :
       * **Premier claim** : Name = `firstName`, Source attribute = `user.givenname`
       * **Deuxième claim** : Name = `lastName`, Source attribute = `user.surname`

    ## Partie 3 : Configurer les paramètres SSO dans le portail Devin Desktop

    <Note>Terminez la configuration dans le **portail Devin Desktop** ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)).</Note>

    10. Dans la **page des paramètres SSO de Devin Desktop** :
        * **Pick your SSO ID** : choisissez un identifiant unique pour le portail de connexion de votre équipe (il ne pourra pas être modifié par la suite)
        * **IdP Entity ID** : copiez la valeur depuis **Microsoft Entra ID** sous **Set up Devin Desktop** → **Microsoft Entra Identifier**
          <Note>L’URL IdP Entity ID doit se terminer par un `/` final (par ex., `https://sts.windows.net/{tenant-id}/`). Si l’URL n’inclut pas la barre oblique finale, ajoutez-la manuellement.</Note>
        * **SSO URL** : copiez la valeur **Login URL** depuis **Microsoft Entra ID**
        * **X509 Certificate** : téléchargez le **certificat SAML (Base64)** depuis **Microsoft Entra ID**, ouvrez le fichier, puis collez ici son contenu texte

    11. Dans le **portail Devin Desktop**, cliquez sur **Enable Login with SAML**, puis sur **Save**.

    12. **Testez la configuration** : cliquez sur **Test Login** pour vérifier que la configuration SSO fonctionne comme prévu.

    <Note>**Important** : ne vous déconnectez pas et ne fermez pas la page des paramètres de Devin Desktop tant que vous n’avez pas testé la connexion avec succès. Si le test échoue, vous devrez peut-être résoudre les problèmes de configuration avant de continuer.</Note>
  </Tab>

  <Tab title="Okta SSO">
    Devin Desktop Enterprise prend désormais en charge la connexion via l’authentification unique (SSO) avec SAML. Si votre organisation utilise Microsoft Entra, Okta, Google Workspaces ou un autre fournisseur d’identité compatible avec SAML, vous pourrez utiliser le SSO avec Devin Desktop.

    <Note>Devin Desktop prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IdP n’est PAS actuellement pris en charge.</Note>

    ### Configurer l’application IdP

    Cliquez sur Applications dans la barre latérale gauche, puis sur 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>

    Sélectionnez SAML 2.0 comme méthode de connexion

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

    Définissez le nom de l’application sur Devin Desktop (ou tout autre nom), puis cliquez sur Next

    Configurez les paramètres SAML comme suit

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

    Configurez les déclarations d’attributs comme suit, puis cliquez sur **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>

    Dans la section feedback, sélectionnez “This is an internal app that we have created”, puis cliquez sur **Finish**.

    ### Enregistrer Okta comme fournisseur SAML

    Vous devriez être redirigé vers l’onglet Sign on de votre application SAML personnalisée. Vous devrez ensuite récupérer les informations de cette page et les renseigner dans les paramètres SSO de Devin Desktop.

    * Ouvrez [https://windsurf.com/team/settings](https://windsurf.com/team/settings), puis cliquez sur Configure SAML
    * Copiez le texte après ‘Issuer’ sur la page de l’application Okta et collez-le dans Idp Entity ID
    * Copiez le texte après ‘Sign on URL’ sur la page de l’application Okta et collez-le dans SSO URL
    * Téléchargez le Signing Certificate et collez-le dans X509 certificate
    * Cochez Enable Login with SAML, puis cliquez sur Save
    * Testez la connexion avec le bouton Test Login. Vous devriez voir un message de réussite :

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

    À ce stade, tout devrait être configuré, et vous pouvez désormais ajouter des utilisateurs à la nouvelle application Devin Desktop Okta.

    Vous devez partager l’URL personnalisée du portail de connexion de votre organisation avec vos utilisateurs et leur demander de se connecter via ce lien.

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

    Les utilisateurs qui se connectent à Devin Desktop via le SSO seront automatiquement approuvés dans la Team.

    ### Limitations

    Notez que Devin Desktop ne prend actuellement pas en charge les flux de connexion initiés par l’IdP.

    Nous ne prenons pas encore non plus en charge OIDC.

    # Résolution des problèmes

    ### La configuration Login with SAML a échoué : 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>

    Cela indique que votre identifiant SSO n’est pas valide ou que votre URL SSO est incorrecte. Assurez-vous que cet identifiant est alphanumérique et ne contient pas d’espaces supplémentaires ni de caractères non valides. Veuillez reprendre les étapes du guide et vous assurer d’utiliser les bonnes valeurs.

    ### La configuration Login with SAML a échoué : 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>

    Cela indique que votre ID d’entité IdP n’est pas valide. Veuillez vous assurer de le copier correctement depuis le portail Okta, sans caractères ni espaces supplémentaires avant ou après la chaîne.

    ### Échec de la vérification de la signature dans samlresponse

    Cela indique que la valeur de votre certificat X509 est incorrecte. Veuillez vous assurer de copier la bonne clé et qu’elle est formatée comme suit :

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

  <Tab title="SCIM Microsoft Entra ID">
    Devin Desktop prend en charge la synchronisation SCIM pour les utilisateurs et les groupes avec Microsoft Entra ID. La configuration du SSO (Single Sign-On) n'est pas obligatoire pour utiliser la synchronisation SCIM, mais elle est vivement recommandée.

    Vous aurez besoin de :

    * Accès administrateur à Microsoft Entra ID
    * Accès administrateur à Devin Desktop
    * Une application de bureau Devin existante dans Entra ID (généralement à partir de votre application SSO existante)

    <Note>
      **Autorisations requises pour la clé de service**

      La clé de service utilisée pour le provisionnement SCIM doit disposer des autorisations suivantes :

      * **Team User Read** - Requise pour lire les informations sur les utilisateurs et les groupes
      * **Team User Update** - Requise pour créer et mettre à jour les utilisateurs et les groupes
      * **Team User Delete** - Requise pour désactiver/supprimer les utilisateurs et les groupes

      Vous pouvez créer un rôle personnalisé avec ces autorisations ou utiliser un rôle d’administrateur existant qui les inclut.
    </Note>

    ## Étape 1 : Créer un rôle avec des autorisations SCIM

    Avant de configurer le provisionnement SCIM, vous devez créer un rôle avec les autorisations requises.

    1. Accédez à [Windsurf Team Settings](https://windsurf.com/team/settings)
    2. Sous "Other Settings", cliquez sur **Configure** à côté de **Role Management**
    3. Cliquez sur **Ajouter un rôle** et nommez-le « SCIM Provisioning »
    4. Ajoutez les autorisations suivantes :
       * Lecture de l’utilisateur Team
       * Mise à jour de l’utilisateur Team
       * Suppression de l’utilisateur Team
    5. Cliquez sur **Enregistrer**

    ## Étape 2 : Accéder à l'application Devin Desktop existante

    Accédez à Microsoft Entra ID sur Azure, cliquez sur Enterprise applications dans la barre latérale gauche, puis cliquez sur l'application Devin Desktop existante dans la liste.

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

    ## Étape 3 : Configurer le provisionnement SCIM

    Cliquez sur Get started sous Provision User Accounts au centre (étape 3), puis cliquez de nouveau sur Get started.

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

    Sur la page de configuration du provisionnement, sélectionnez les options suivantes.

    Mode de provisionnement :  Automatique

    Admin Credentials > Tenant URL : [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>

    Laissez la page de provisioning Azure ouverte, puis accédez au portail web Devin Desktop et cliquez sur l'icône de profil dans la barre de navigation en haut de la page. Sous Team Settings, sélectionnez Service Key et cliquez sur Add Service Key. Saisissez un nom de clé (par exemple « Azure SCIM Provisioning »), **sélectionnez le rôle « SCIM Provisioning » que vous avez créé précédemment**, puis cliquez sur Create Service Key. Copiez la clé générée, revenez sur la page Azure et collez-la dans le champ 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>

    (Ce que vous devriez voir après avoir créé la clé sur Devin Desktop)

    Sur la page de provisionnement, cliquez sur Test Connection ; la connexion SCIM devrait ainsi être vérifiée.

    Au-dessus du formulaire de provisionnement, cliquez sur Enregistrer.

    ## Étape 4 : Configurer le provisionnement SCIM

    Après avoir cliqué sur Save, une nouvelle option Mappings devrait apparaître dans la page Provisioning. Développez Mappings, puis cliquez sur 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>

    Sous l'attribut Mappings, supprimez tous les champs sous displayName, en ne conservant que les champs userName, active et 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>

    Pour active, cliquez maintenant sur Edit. Sous Expression, modifiez le champ en

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

    Cliquez ensuite sur Ok.

    Vos attributs utilisateur doivent ressembler à ce qui suit

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

    Sur la page Attribute Mapping, cliquez sur Save en haut de la page, puis revenez à la page de provisionnement.

    Sur la même page, sous Mappings, cliquez sur Provision Microsoft Entra ID Groups. Cliquez uniquement sur delete pour externalId, puis cliquez sur Save en haut de la page. Revenez à la page 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 bas de la page Provisioning, vous devriez également trouver un bouton bascule Provisioning Status. Activez-le pour activer la synchronisation SCIM. Désormais, vos utilisateurs et groupes associés à l'application Entra ID seront synchronisés avec Devin Desktop toutes les 40 minutes.

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

    Cliquez sur Save pour terminer ; la synchronisation des utilisateurs et des groupes via SCIM est maintenant activée. Seuls les utilisateurs et les groupes assignés à l'application seront synchronisés avec Devin Desktop. Notez que la suppression d'utilisateurs désactive uniquement leur accès à Devin Desktop (et libère leur siège) sans les supprimer définitivement, en raison de la conception SCIM d'Azure.
  </Tab>

  <Tab title="Okta SCIM">
    Devin Desktop prend en charge la synchronisation SCIM des utilisateurs et des groupes avec Okta. Il n'est pas nécessaire de configurer le SSO pour utiliser la synchronisation SCIM, mais cela est fortement recommandé.

    Vous aurez besoin de :

    * d'un accès Admin à Okta
    * d'un accès Admin à Devin Desktop
    * d'une application Devin Desktop existante sur Okta (généralement celle de votre application SSO existante)

    ## Étape 1 : Accéder à l'application Devin Desktop existante

    Accédez à Okta, cliquez sur Applications, puis sur Applications dans la barre latérale de gauche, puis cliquez sur l'application Devin Desktop existante dans la liste des applications.

    ## Étape 2 : Activer le provisionnement SCIM

    Sous l'onglet General, dans App Settings, cliquez sur Edit en haut à droite. Cochez ensuite la case 'Enable SCIM Provisioning', puis cliquez sur Save. Un nouvel onglet Provisioning devrait alors apparaître en haut.

    Accédez maintenant à Provisioning, cliquez sur Edit et renseignez les champs suivants :

    URL de base du connecteur SCIM : [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    Champ d'identifiant unique pour les utilisateurs : email

    Actions de provisionnement prises en charge : Push New Users, Push Profile Updates, Push Groups

    Mode d'authentification : HTTP Header

    Pour HTTP Header - Authorization, vous pouvez générer le jeton depuis

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings), puis accéder à Service Key Configuration
    * Cliquez sur Configure, puis sur Add Service Key, et donnez un nom à votre API key
    * Copiez l'API key, revenez à Okta et collez-la dans HTTP Header - Authorization

    Cliquez sur Save après avoir renseigné Provisioning Integration.

    ## Étape 3 : Configurer le provisionnement

    Sous l'onglet Provisioning, deux nouveaux onglets devraient apparaître à gauche. Cliquez sur To App, puis sur Edit Provisioning to App. Cochez les cases Create Users, Update User Attributes et Deactivate Users, puis cliquez sur Save.

    Après cette étape, tous les utilisateurs attribués au groupe seront synchronisés avec Devin Desktop.

    ## Étape 4 : Configurer le provisionnement des groupes (facultatif)

    Pour synchroniser des groupes avec Devin Desktop, vous devrez préciser quels groupes envoyer. Sous l'application, cliquez sur l'onglet Push Groups en haut. Cliquez ensuite sur + Push Groups -> Find Groups by name. Filtrez le groupe que vous souhaitez ajouter, assurez-vous que Push group memberships immediately est coché, puis cliquez sur Save. Le groupe sera créé et les membres du groupe seront synchronisés avec Devin Desktop. Les groupes peuvent ensuite être utilisés pour filtrer les analyses par groupe dans la page d'analyse.
  </Tab>

  <Tab title="API SCIM">
    Ce guide explique comment créer et gérer des groupes dans Devin Desktop avec l'API SCIM.

    Il peut être préférable de provisionner des groupes manuellement plutôt que via un fournisseur d'identité (Azure/Okta). Les entreprises peuvent souhaiter provisionner des groupes depuis une source interne différente (site RH, outil de gestion du code source, etc.) à laquelle Devin Desktop n'a pas accès, ou avoir besoin d'un contrôle plus granulaire sur les groupes que ce que leur fournisseur d'identité permet. Les groupes peuvent ainsi être créés via une API par requête HTTP. Vous trouverez ci-dessous des exemples de requêtes HTTP via CURL.

    Cette section présente 5 API principales : Create Group, Add group members, Replace group members, Delete Group et List Users in a Group.

    ### Créer un groupe

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

    ### Ajouter des membres au groupe

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

    ### Remplacer les membres du groupe

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

    ### Supprimer le groupe

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

    ### Lister les groupes

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

    ### Lister les utilisateurs d'un groupe

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

    Vous devrez d'abord créer le groupe, puis le remplacer pour créer un groupe contenant des membres. Vous devrez également encoder les noms de groupe en URL si votre nom de groupe contient un caractère spécial tel qu'un espace ; par exemple, un nom de groupe comme 'Engineering Group' devra être saisi sous la forme 'Engineering%20Group' dans l'URL.

    Notez que les utilisateurs doivent être créés dans Devin Desktop (via SCIM ou en créant le compte manuellement) avant de pouvoir être ajoutés à un groupe.

    ## APIs utilisateur

    Des API sont également disponibles pour les utilisateurs. Voici quelques-unes des API SCIM courantes prises en charge par Devin Desktop.

    Désactiver un utilisateur (activer en remplaçant false par 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
          }
        ]
      }'
    ```

    Désactiver l'accès CLI pour un utilisateur (définir `cliActive` sur `true` pour le réactiver) :

    ```
    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
          }
        ]
      }'
    ```

    L'attribut `cliActive` contrôle si un utilisateur peut accéder à Devin CLI. Il est indépendant de l'attribut `active` — la désactivation de l'accès CLI n'affecte ni le siège de l'utilisateur ni son accès aux autres produits Devin Desktop. Si `cliActive` n'est pas défini pour un utilisateur, la politique d'accès CLI par défaut du Team s'applique à celui-ci.

    Créer un utilisateur :

    ```
    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
    }'
    ```

    Mettre à jour le nom :

    ```
    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>"
            }
          ]
       }'
    ```

    ## Création d'une clé secrète d'API

    Accédez à [https://windsurf.com/team/settings](https://windsurf.com/team/settings). Sous Service Key Configuration, cliquez sur Add Service Key. Saisissez un nom de clé (par exemple « Azure Provisioning Key »), puis cliquez sur Create Service Key. Copiez la clé générée et enregistrez-la ; vous pouvez désormais l'utiliser pour autoriser les API mentionnées ci-dessus.
  </Tab>

  <Tab title="Duo">
    ## Prérequis

    Ce guide suppose que Duo est configuré et sert d’IdP pour votre organisation, ou qu’un IdP externe est configuré.

    Vous devez disposer d’un accès administrateur à la fois à Duo et à Devin Desktop.

    ## Configurer Duo pour Devin Desktop

    1. Accédez à Applications, puis ajoutez un fournisseur de services SAML générique

    <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. Accédez à SSO dans 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. Lors de la première activation de SAML, vous devrez configurer votre identifiant SSO. **Vous ne pourrez plus le modifier par la suite.**

       Il est recommandé d’utiliser le nom de votre organisation ou de votre équipe, en n’employant que des caractères alphanumériques.

    4. Copiez la valeur `Entity ID` depuis le portail Duo et collez-la dans le champ `IdP Entity ID` du portail Devin Desktop.

    5. Copiez la valeur `Single Sign-On URL` depuis le portail Duo et collez-la dans le champ `SSO URL` du portail Devin Desktop.

    6. Copiez la valeur du certificat depuis le portail Duo et collez-la dans le champ `X509 Certificate` du portail 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. Copiez la valeur `SP Identity ID` depuis le portail Devin Desktop et collez-la dans le champ `Entity ID` du portail Duo.

    8. Copiez la `Callback URL (Assertion Consumer Service URL)` depuis le portail Devin Desktop et collez-la dans le champ `Assertion Consumer Service (ACS) URL` du portail Duo.

    9. Dans le portail Duo, configurez les attributs comme suit :

    <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. Activez la connexion SAML dans le portail Devin Desktop afin de pouvoir la tester.

    **REMARQUE : NE VOUS DÉCONNECTEZ PAS ET NE FERMEZ PAS LA FENÊTRE À CE STADE.**

    Si une erreur se produit ou que la session expire, vérifiez vos paramètres. Sinon, vous devrez désactiver vos paramètres SAML dans le portail Devin Desktop.

    **Si vous vous déconnectez ou fermez la fenêtre sans confirmer la réussite du test, vous risquez d’être bloqué.**

    11. Une fois le test terminé avec succès, vous pouvez vous déconnecter. Vous pouvez désormais utiliser la connexion SSO en accédant à la page de votre équipe/organisation avec l’identifiant SSO que vous avez configuré à l’étape 3.

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

  <Tab title="PingID">
    ## Prérequis

    Ce guide suppose que PingID est configuré et agit comme l’IdP de votre organisation, ou qu’un IdP externe y est configuré.

    Vous aurez besoin d’un accès administrateur aux comptes PingID et Devin Desktop.

    ## Configurer PingID pour Devin Desktop

    1. Accédez à Applications et ajoutez Devin Desktop comme application 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. Accédez à SSO dans 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. Lorsque vous activez SAML pour la première fois, vous devrez configurer votre identifiant SSO. **Vous ne pourrez plus le modifier par la suite.**

    Il est recommandé d’utiliser le nom de votre organisation ou de votre équipe, avec uniquement des caractères alphanumériques.

    4. Dans PingID, choisissez de saisir manuellement la configuration et renseignez les champs avec les valeurs suivantes :

    * ACS URLs - il s’agit de la `Callback URL (Assertion Consumer Service URL)` du portail Devin Desktop.
    * Entity ID - il s’agit du `SP Entity ID` du portail 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. Copiez l’`Issuer ID` depuis PingID dans le champ `IdP Entity ID` du portail Devin Desktop.

    6. Copiez la valeur `Single Signon Service` depuis PingID dans le champ `SSO URL` du portail Devin Desktop.

    7. Téléchargez le certificat de signature depuis PingID au format X509 PEM (.crt), ouvrez le fichier, puis copiez son contenu dans le champ `X509 Certificate` du portail Devin Desktop.

    **Remarque** : assurez-vous de copier les lignes de début et de fin complètes avec 5 tirets (-), sans aucun autre caractère !

    8. Dans les mappages d’attributs, assurez-vous de faire correspondre :

    * `saml_subject` - Adresse e-mail
    * `firstName` - Prénom
    * `lastName` - Nom de famille

    <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. Ajoutez ou modifiez toute autre politique et tout autre accès selon les besoins de votre configuration ou de votre organisation

    10. Activez la connexion SAML dans le portail Devin Desktop afin de pouvoir la tester.

    **REMARQUE : NE VOUS DÉCONNECTEZ PAS ET NE FERMEZ PAS LA FENÊTRE À CE STADE.**

    Si vous obtenez une erreur ou si la session expire, vérifiez vos paramètres ; sinon, vous devrez désactiver vos paramètres SAML dans le portail Devin Desktop.

    **Si vous vous déconnectez ou fermez la fenêtre sans avoir confirmé la réussite du test, vous risquez de vous retrouver bloqué.**

    11. Une fois le test terminé avec succès, vous pouvez vous déconnecter. Vous pouvez désormais utiliser la connexion SSO en accédant à la page de votre équipe ou de votre organisation avec l’identifiant SSO configuré à l’étape 3.

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