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

# SSO & SCIM einrichten

> Konfigurieren Sie Single Sign-On (SSO) und die SCIM-Bereitstellung für Ihre Organisation mit Google Workspace, Microsoft Entra ID, Okta oder anderen SAML-Identity Providern.

<Note>Diese Funktion ist nur für Enterprise-Nutzer verfügbar.</Note>

<Note>Diese Funktion gilt nicht für Cognition-Platform-Pläne. Für Cognition Platform sollte SSO stattdessen in Ihren Cognition Platform Settings konfiguriert und verwaltet werden.</Note>

<Tabs>
  <Tab title="Google SSO">
    Devin Desktop unterstützt jetzt die Anmeldung mit Single Sign-On (SSO) über SAML. Wenn Ihre Organisation Microsoft Entra, Okta, Google Workspaces oder einen anderen Identity Provider verwendet, der SAML unterstützt, können Sie SSO mit Devin Desktop verwenden.

    <Note>Devin Desktop unterstützt nur SP-initiiertes SSO; IdP-initiiertes SSO wird derzeit NICHT unterstützt.</Note>

    ### IdP-Anwendung konfigurieren

    Klicken Sie in der Google Admin-Konsole (admin.google.com) links auf **Apps -> Web and mobile apps**.

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

    Klicken Sie auf **Add app** und dann auf **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>

    Tragen Sie bei **App name** `Windsurf` ein und klicken Sie auf **Next**.

    Der nächste Bildschirm (**Google Identity Provider details**) in der Google-Konsole enthält Daten, die Sie in die SSO-Settings von Devin Desktop unter [https://windsurf.com/team/settings](https://windsurf.com/team/settings) kopieren müssen.

    * Kopieren Sie die **SSO URL** aus der Google-Konsole in die Devin-Desktop-Settings unter **SSO URL**
    * Kopieren Sie die **Entity ID** aus der Google-Konsole in die Devin-Desktop-Settings unter **Idp Entity ID**
    * Kopieren Sie das **Certificate** aus der Google-Konsole in die Devin-Desktop-Settings unter **X509 Certificate**
    * Klicken Sie in der Google-Konsole auf **Continue**

    Der nächste Bildschirm in der Google-Konsole erfordert, dass Sie Daten von der Settings-Seite von Codeium kopieren.

    * Kopieren Sie die **Callback URL** von der Settings-Seite von Codeium in der Google-Konsole in **ACS URL**
    * Kopieren Sie die **SP Entity ID** von der Settings-Seite von Codeium in der Google-Konsole in **SP Entity ID**
    * Ändern Sie das **Name ID**-Format in **EMAIL**
    * Klicken Sie in der Google-Konsole auf **Continue**

    Der nächste Bildschirm in der Google-Konsole erfordert einige Konfigurationen.

    * Klicken Sie auf **Add Mapping**, wählen Sie **First name** aus und setzen Sie die **App attributes** auf **firstName**
    * Klicken Sie auf **Add Mapping**, wählen Sie **Last name** aus und setzen Sie die **App attributes** auf **lastName**
    * Klicken Sie auf **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>

    Klicken Sie auf der Settings-Seite von Codeium auf **Enable Login with SAML** und dann auf **Save**. Klicken Sie unbedingt auf **Test Login**, um sicherzustellen, dass die Anmeldung wie erwartet funktioniert. Für alle Nutzer wird die SSO-Anmeldung jetzt erzwungen.
  </Tab>

  <Tab title="Microsoft Entra ID">
    Devin Desktop Enterprise unterstützt jetzt die Anmeldung per Single Sign-On (SSO) über SAML. Wenn Ihre Organisation Microsoft Entra ID (früher Azure AD) verwendet, können Sie SSO mit Devin Desktop nutzen.

    <Note>Devin Desktop unterstützt nur SP-initiiertes SSO; IDP-initiiertes SSO wird derzeit NICHT unterstützt.</Note>

    ## Teil 1: Enterprise-Anwendung in Microsoft Entra ID erstellen

    <Note>Alle Schritte in diesem Abschnitt werden im **Microsoft Entra ID Admin Center** durchgeführt.</Note>

    1. Klicken Sie in Microsoft Entra ID auf **Add** und dann auf **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. Klicken Sie auf **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. Benennen Sie Ihre Anwendung **Devin Desktop**, wählen Sie *Integrate any other application you don't find in the gallery* und klicken Sie dann auf **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>

    ## Teil 2: SAML und Nutzerattribute in Microsoft Entra ID konfigurieren

    <Note>Alle Schritte in diesem Abschnitt werden im **Microsoft Entra ID Admin Center** durchgeführt.</Note>

    4. Klicken Sie in Ihrer neuen Devin Desktop-Anwendung auf **Set up single sign on** und dann auf **SAML**.

    5. Klicken Sie unter **Basic SAML Configuration** auf **Edit**.

    6. **Lassen Sie diesen Entra ID-Tab geöffnet** und öffnen Sie einen neuen Tab, um zu den **Devin Desktop Teams SSO-Einstellungen** unter [https://windsurf.com/team/settings](https://windsurf.com/team/settings) zu wechseln.

    7. Im **Microsoft Entra ID**-SAML-Konfigurationsformular:
       * **Identifier (Entity ID)**: Kopieren Sie den Wert **SP Entity ID** von der **Devin Desktop SSO-Einstellungsseite**
       * **Reply URL (Assertion Consumer Service URL)**: Kopieren Sie den Wert **Callback URL** von der **Devin Desktop SSO-Einstellungsseite**
       * Klicken Sie oben auf **Save**

    8. Konfigurieren Sie die Nutzerattribute für die korrekte Namensanzeige. Klicken Sie in **Microsoft Entra ID** unter **Attributes & Claims** auf **Edit**.

    9. Erstellen Sie 2 neue Claims, indem Sie jeweils auf **Add new claim** klicken:
       * **Erster Claim**: Name = `firstName`, Quellattribut = `user.givenname`
       * **Zweiter Claim**: Name = `lastName`, Quellattribut = `user.surname`

    ## Teil 3: SSO-Einstellungen im Devin Desktop Portal konfigurieren

    <Note>Schließen Sie die Konfiguration im **Devin Desktop Portal** ab ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)).</Note>

    10. Auf der **Devin Desktop SSO-Einstellungsseite**:
        * **Pick your SSO ID**: Wählen Sie eine eindeutige Kennung für das Login-Portal Ihres Teams (diese kann später nicht mehr geändert werden)
        * **IdP Entity ID**: Kopieren Sie den Wert aus **Microsoft Entra ID** unter **Set up Devin Desktop** → **Microsoft Entra Identifier**
          <Note>Die IdP Entity ID-URL muss mit einem nachgestellten `/` enden (z. B. `https://sts.windows.net/{tenant-id}/`). Wenn die URL den abschließenden Schrägstrich nicht enthält, fügen Sie ihn manuell hinzu.</Note>
        * **SSO URL**: Kopieren Sie den Wert **Login URL** aus **Microsoft Entra ID**
        * **X509 Certificate**: Laden Sie das **SAML certificate (Base64)** aus **Microsoft Entra ID** herunter, öffnen Sie die Datei und fügen Sie den Textinhalt hier ein

    11. Klicken Sie im **Devin Desktop Portal** auf **Enable Login with SAML** und dann auf **Save**.

    12. **Testen Sie die Konfiguration**: Klicken Sie auf **Test Login**, um zu prüfen, ob die SSO-Konfiguration wie erwartet funktioniert.

    <Note>**Wichtig**: Melden Sie sich nicht ab und schließen Sie die Devin Desktop-Einstellungsseite nicht, bevor Sie die Anmeldung erfolgreich getestet haben. Wenn der Test fehlschlägt, müssen Sie möglicherweise zuerst Ihre Konfiguration überprüfen, bevor Sie fortfahren.</Note>
  </Tab>

  <Tab title="Okta SSO">
    Devin Desktop Enterprise unterstützt jetzt die Anmeldung per Single Sign-On (SSO) über SAML. Wenn Ihre Organisation Microsoft Entra, Okta, Google Workspaces oder einen anderen SAML-fähigen Identity Provider verwendet, können Sie SSO mit Devin Desktop nutzen.

    <Note>Devin Desktop unterstützt nur SP-initiiertes SSO; IdP-initiiertes SSO wird derzeit NICHT unterstützt.</Note>

    ### IdP-Anwendung konfigurieren

    Klicken Sie in der linken Seitenleiste auf Applications und dann auf 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>

    Wählen Sie SAML 2.0 als Anmeldemethode aus

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

    Legen Sie den App-Namen als Devin Desktop fest (oder vergeben Sie einen anderen Namen) und klicken Sie auf Next

    Konfigurieren Sie die SAML-Settings wie folgt:

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

    Konfigurieren Sie die Attribut-Statements wie folgt und klicken Sie dann auf **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>

    Wählen Sie im Abschnitt feedback „This is an internal app that we have created“ aus und klicken Sie auf **Finish**.

    ### Okta als SAML-Provider registrieren

    Sie sollten zum Tab Sign on Ihrer benutzerdefinierten SAML-Anwendung weitergeleitet werden. Übernehmen Sie nun die Informationen auf dieser Seite in die SSO-Settings von Devin Desktop.

    * Öffnen Sie [https://windsurf.com/team/settings](https://windsurf.com/team/settings) und klicken Sie auf Configure SAML
    * Kopieren Sie den Text nach „Issuer“ auf der Okta-Anwendungsseite und fügen Sie ihn unter Idp Entity ID ein
    * Kopieren Sie den Text nach „Sign on URL“ auf der Okta-Anwendungsseite und fügen Sie ihn unter SSO URL ein
    * Laden Sie das Signing Certificate herunter und fügen Sie es unter X509 certificate ein
    * Aktivieren Sie Enable Login with SAML und klicken Sie dann auf Save
    * Testen Sie die Anmeldung mit der Schaltfläche Test Login. Sie sollten eine Erfolgsmeldung sehen:

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

    An diesem Punkt sollte alles konfiguriert sein, und Sie können nun Nutzer zur neuen Devin Desktop Okta-Anwendung hinzufügen.

    Sie sollten die benutzerdefinierte Login Portal URL Ihrer Organisation mit Ihren Nutzern teilen und sie bitten, sich über diesen Link anzumelden.

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

    Nutzer, die sich per SSO bei Devin Desktop anmelden, werden automatisch für das Team freigegeben.

    ### Einschränkungen

    Beachten Sie, dass Devin Desktop derzeit keine IdP-initiierten Anmeldeabläufe unterstützt.

    Außerdem unterstützen wir OIDC noch nicht.

    # Fehlerbehebung

    ### Login with SAML config failed: 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>

    Dies weist auf eine ungültige SSO-ID oder eine falsche SSO-URL hin. Stellen Sie sicher, dass sie alphanumerisch ist und keine zusätzlichen Leerzeichen oder ungültigen Zeichen enthält. Gehen Sie die Schritte in dieser Anleitung bitte noch einmal durch und stellen Sie sicher, dass Sie die richtigen Werte verwenden.

    ### Login with SAML config failed: 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>

    Dies weist darauf hin, dass Ihre IdP Entity ID ungültig ist. Bitte stellen Sie sicher, dass Sie sie korrekt aus dem Okta-Portal kopieren, ohne zusätzliche Zeichen oder Leerzeichen vor oder nach der Zeichenfolge.

    ### Failed to verify the signature in samlresponse

    Dies weist auf einen falschen Wert Ihres X509-Zertifikats hin. Bitte stellen Sie sicher, dass Sie den richtigen Schlüssel kopieren und dass er wie folgt formatiert ist:

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

  <Tab title="Microsoft Entra ID SCIM">
    Devin Desktop unterstützt die SCIM-Synchronisierung für Nutzer und Gruppen mit Microsoft Entra ID. Die Einrichtung von SSO ist für die Nutzung der SCIM-Synchronisierung nicht erforderlich, wird jedoch dringend empfohlen.

    Sie benötigen:

    * Admin-Zugriff auf Microsoft Entra ID
    * Admin-Zugriff auf Devin Desktop
    * Eine vorhandene Devin-Desktop-Anwendung in Entra ID (normalerweise aus Ihrer bestehenden SSO-Anwendung)

    <Note>
      **Erforderliche Berechtigungen für den Service-Schlüssel**

      Der für die SCIM-Provisionierung verwendete Service-Schlüssel muss über die folgenden Berechtigungen verfügen:

      * **Team User Read** - Erforderlich zum Lesen von Nutzer- und Gruppeninformationen
      * **Team User Update** - Erforderlich zum Erstellen und Aktualisieren von Nutzern und Gruppen
      * **Team User Delete** - Erforderlich zum Deaktivieren/Löschen von Nutzern und Gruppen

      Sie können eine benutzerdefinierte Rolle mit diesen Berechtigungen erstellen oder eine vorhandene Administratorrolle verwenden, die diese Berechtigungen enthält.
    </Note>

    ## Schritt 1: Eine Rolle mit SCIM-Berechtigungen erstellen

    Bevor Sie die SCIM-Provisionierung einrichten, müssen Sie eine Rolle mit den erforderlichen Berechtigungen erstellen.

    1. Rufen Sie [Windsurf Team Settings](https://windsurf.com/team/settings) auf
    2. Unter "Other Settings" klicken Sie neben **Rollenverwaltung** auf **Konfigurieren**
    3. Klicken Sie auf **Rolle hinzufügen** und geben Sie ihr den Namen "SCIM-Provisioning".
    4. Fügen Sie die folgenden Berechtigungen hinzu:
       * Team-Nutzer lesen
       * Team-Nutzer aktualisieren
       * Team-Nutzer löschen
    5. Klicken Sie auf **Save**

    ## Schritt 2: Zur vorhandenen Devin Desktop-Anwendung navigieren

    Navigieren Sie zu Microsoft Entra ID in Azure, klicken Sie in der linken Seitenleiste auf „Unternehmensanwendungen" und dann auf die vorhandene Devin Desktop-Anwendung in der 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>

    ## Schritt 3: SCIM-Bereitstellung einrichten

    Klicken Sie auf „Get started" unter „Provision User Accounts" in der Mitte (Schritt 3) und anschließend erneut auf „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>

    Wählen Sie auf der Seite „Provisioning-Setup" die folgenden Optionen aus.

    Bereitstellungsmodus:  Automatisch

    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>

    Lassen Sie die Azure-Provisioning-Seite geöffnet, wechseln Sie nun zum Devin Desktop-Webportal und klicken Sie auf das profile icon in der NavBar oben auf der Seite. Wählen Sie unter Team Settings die Option Service-Schlüssel aus und klicken Sie auf Service-Schlüssel hinzufügen. Geben Sie einen beliebigen Schlüsselnamen ein (z. B. „Azure SCIM Provisioning"), **wählen Sie die zuvor erstellte Rolle „SCIM Provisioning"** und klicken Sie auf Service-Schlüssel erstellen. Kopieren Sie den generierten Schlüssel, kehren Sie zur Azure-Seite zurück und fügen Sie ihn in das Feld „Secret Token" ein.

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

    (Was Sie nach dem Erstellen des Schlüssels in Devin Desktop sehen sollten)

    Klicken Sie auf der Provisioning-Seite auf „Test Connection". Damit sollte die SCIM-Verbindung überprüft worden sein.

    Klicken Sie nun oberhalb des Provisioning-Formulars auf „Speichern".

    ## Schritt 4: SCIM-Bereitstellung konfigurieren

    Nach dem Klicken auf „Speichern" sollte auf der Bereitstellungsseite eine neue Option „Mappings" erschienen sein. Erweitern Sie „Mappings" und klicken Sie auf „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>

    Löschen Sie unter Attribut-Mappings alle Felder unterhalb von displayName, sodass nur die Felder userName, active und displayName verbleiben.

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

    Klicken Sie nun für „active" auf „Edit". Ändern Sie unter „Expression" das Feld in

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

    Klicken Sie anschließend auf „Ok".

    Ihre Nutzerattribute sollten wie folgt aussehen

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

    Klicken Sie auf der Seite „Attribute Mapping" oben auf „Save" und kehren Sie zur Seite „Provisioning" zurück.

    Klicken Sie auf derselben Seite unter „Mappings" auf „Provision Microsoft Entra ID Groups". Klicken Sie dort nur bei „externalId" auf „Löschen" und anschließend oben auf „Speichern". Navigieren Sie zurück zur Seite „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>

    Unten auf der Provisioning-Seite sollte außerdem ein Toggle für den Provisioning-Status vorhanden sein. Setzen Sie diesen auf „Ein", um die SCIM-Synchronisierung zu aktivieren. Ab sofort werden Ihre Nutzer und Gruppen für die Entra ID-Anwendung alle 40 Minuten mit Devin Desktop synchronisiert.

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

    Klicken Sie auf „Speichern", um den Vorgang abzuschließen. Die Nutzer- und Gruppensynchronisierung für SCIM ist nun aktiviert. Es werden nur Nutzer und Gruppen mit Devin Desktop synchronisiert, die der Anwendung zugewiesen sind. Hinweis: Aufgrund des SCIM-Designs von Azure werden entfernte Nutzer lediglich für den Zugriff auf Devin Desktop deaktiviert (und ihr Sitzplatz wird freigegeben) – sie werden jedoch nicht gelöscht.
  </Tab>

  <Tab title="Okta SCIM">
    Devin Desktop unterstützt die SCIM-Synchronisierung für Nutzer und Gruppen mit Okta. Es ist nicht erforderlich, SSO einzurichten, um die SCIM-Synchronisierung zu nutzen, wird jedoch dringend empfohlen.

    Sie benötigen:

    * Admin-Zugriff auf Okta
    * Admin-Zugriff auf Devin Desktop
    * Eine vorhandene Devin Desktop Application in Okta (normalerweise aus Ihrer bestehenden SSO-Anwendung)

    ## Schritt 1: Zur vorhandenen Devin Desktop Application navigieren

    Gehen Sie in Okta zu Applications, klicken Sie links in der Seitenleiste auf Applications und dann in der Anwendungsliste auf die vorhandene Devin Desktop-Anwendung.

    ## Schritt 2: SCIM-Provisioning aktivieren

    Klicken Sie im Tab General unter App Settings oben rechts auf Edit. Aktivieren Sie dann das Kontrollkästchen 'Enable SCIM Provisioning' und klicken Sie anschließend auf Save. Oben sollte nun ein neuer Tab Provisioning angezeigt werden.

    Gehen Sie jetzt zu Provisioning, klicken Sie auf Edit und tragen Sie in die folgenden Felder Folgendes ein:

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

    Unique identifier field for users: email

    Supported provisioning actions: Push New Users, Push Profile Updates, Push Groups

    Authentication Mode: HTTP Header

    Für HTTP Header - Authorization können Sie das Token hier generieren:

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings) und gehen Sie zu Service Key Configuration
    * Klicken Sie auf Configure, dann auf Add Service Key, und geben Sie Ihrem API key einen Namen
    * Kopieren Sie den API key, gehen Sie zurück zu Okta und fügen Sie ihn in HTTP Header - Authorization ein

    Klicken Sie nach dem Ausfüllen von Provisioning Integration auf Save.

    ## Schritt 3: Provisioning einrichten

    Unter dem Tab Provisioning sollten links zwei neue Tabs erscheinen. Klicken Sie auf To App und dann auf Edit Provisioning to App. Aktivieren Sie die Kontrollkästchen für Create Users, Update User Attributes und Deactivate Users und klicken Sie auf Save.

    Nach diesem Schritt werden alle Nutzer, die der Gruppe zugewiesen sind, mit Devin Desktop synchronisiert.

    ## Schritt 4: Gruppen-Provisioning einrichten (optional)

    Um Gruppen mit Devin Desktop zu synchronisieren, müssen Sie angeben, welche Gruppen übertragen werden sollen. Klicken Sie in der Anwendung oben auf den Tab Push Groups. Klicken Sie jetzt auf + Push Groups -> Find Groups by name. Filtern Sie nach der Gruppe, die Sie hinzufügen möchten, stellen Sie sicher, dass Push group memberships immediately aktiviert ist, und klicken Sie dann auf Save. Die Gruppe wird erstellt und die Gruppenmitglieder werden mit Devin Desktop synchronisiert. Gruppen können dann verwendet werden, um auf der Analytics-Seite nach Gruppen-Analytics zu filtern.
  </Tab>

  <Tab title="SCIM API">
    Diese Anleitung zeigt, wie Groups in Devin Desktop mithilfe der SCIM API erstellt und verwaltet werden.

    Es kann Gründe geben, Groups manuell statt über den Identity Provider (Azure/Okta) bereitzustellen. Unternehmen möchten Groups möglicherweise aus einer anderen internen Quelle (HR-Website, Quellcodeverwaltungs-Tool usw.) beziehen, auf die Devin Desktop keinen Zugriff hat, oder sie benötigen eine feinere Kontrolle über Groups, als ihr Identity Provider bietet. Groups können daher alternativ über eine API per HTTP-Anfrage erstellt werden. Im Folgenden finden sich Beispiele für die HTTP-Anfrage via CURL.

    Hier gibt es 5 Haupt-APIs: Create Group, Add group members, Replace group members, Delete Group und List Users in a Group.

    ### Gruppe erstellen

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

    ### Gruppenmitglieder hinzufügen

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

    ### Gruppenmitglieder ersetzen

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

    ### Gruppe löschen

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

    ### Gruppe auflisten

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

    ### Nutzer in einer Gruppe auflisten

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

    Sie müssen zunächst die Gruppe erstellen und anschließend die Gruppe ersetzen, um eine Gruppe mit Membern anzulegen. Außerdem müssen Sie die Gruppennamen URL-kodieren, wenn der Gruppenname ein Sonderzeichen wie ein Leerzeichen enthält – ein Gruppenname wie 'Engineering Group' muss in der URL als 'Engineering%20Group' angegeben werden.

    Hinweis: Nutzer müssen zunächst in Devin Desktop angelegt werden (über SCIM oder durch manuelles Erstellen des Kontos), bevor sie einer Gruppe hinzugefügt werden können.

    ## Nutzer-APIs

    Es gibt auch APIs für Nutzer. Nachfolgend sind einige der gängigen SCIM-APIs aufgeführt, die Devin Desktop unterstützt.

    Einen Nutzer deaktivieren (Aktivieren durch Ersetzen von false mit 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
          }
        ]
      }'
    ```

    CLI-Zugriff für einen Nutzer deaktivieren (setzen Sie `cliActive` auf `true`, um ihn wieder zu aktivieren):

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

    Das Attribut `cliActive` legt fest, ob ein Nutzer auf Devin CLI zugreifen kann. Es ist unabhängig vom Attribut `active` – das Deaktivieren des CLI-Zugriffs hat keinen Einfluss auf den Sitzplatz des Nutzers oder seinen Zugriff auf andere Devin Desktop-Produkte. Ist `cliActive` für einen Nutzer nicht gesetzt, gilt für ihn die Standard-CLI-Zugriffsrichtlinie des Teams.

    Nutzer erstellen:

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

    Name aktualisieren:

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

    ## API-Secret-Key erstellen

    Gehen Sie zu [https://windsurf.com/team/settings](https://windsurf.com/team/settings). Klicken Sie unter „Service Key Configuration" auf „Add Service Key". Geben Sie einen beliebigen Schlüsselnamen ein (z. B. „Azure Provisioning Key") und klicken Sie auf „Create Service Key". Kopieren Sie den generierten Schlüssel und speichern Sie ihn – Sie können diesen Service-Schlüssel nun verwenden, um die oben genannten APIs zu autorisieren.
  </Tab>

  <Tab title="Duo">
    ## Voraussetzungen

    Diese Anleitung setzt voraus, dass Sie Duo konfiguriert haben und es als IdP Ihrer Organisation fungiert oder dass ein externer IdP konfiguriert ist.

    Sie benötigen Administratorzugriff auf Duo- und Devin Desktop-Konten.

    ## Duo für Devin Desktop konfigurieren

    1. Navigieren Sie zu Applications und fügen Sie einen generischen SAML-Service-Provider hinzu

    <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. Navigieren Sie in Team Settings zu SSO

    <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. Wenn Sie SAML zum ersten Mal aktivieren, müssen Sie Ihre SSO-ID einrichten. **Sie können sie später nicht mehr ändern.**

       Es wird empfohlen, dafür den Namen Ihrer Organisation oder Ihres Teams zu verwenden und nur alphanumerische Zeichen zu nutzen.

    4. Kopieren Sie den Wert `Entity ID` aus dem Duo-Portal und fügen Sie ihn in das Feld `IdP Entity ID` im Devin Desktop-Portal ein.

    5. Kopieren Sie den Wert `Single Sign-On URL` aus dem Duo-Portal und fügen Sie ihn in das Feld `SSO URL` im Devin Desktop-Portal ein.

    6. Kopieren Sie den Zertifikatswert aus dem Duo-Portal und fügen Sie ihn in das Feld `X509 Certificate` im Devin Desktop-Portal ein

    <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. Kopieren Sie den Wert `SP Identity ID` aus dem Devin Desktop-Portal und fügen Sie ihn in das Feld `Entity ID` im Duo-Portal ein.

    8. Kopieren Sie die `Callback URL (Assertion Consumer Service URL)` aus dem Devin Desktop-Portal und fügen Sie sie in das Feld `Assertion Consumer Service (ACS) URL` im Duo-Portal ein.

    9. Konfigurieren Sie im Duo-Portal die Attributanweisungen wie folgt:

    <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. Aktivieren Sie die SAML-Anmeldung im Devin Desktop-Portal, damit Sie sie testen können.

    **HINWEIS: MELDEN SIE SICH AN DIESEM PUNKT NICHT AB UND SCHLIESSEN SIE DAS FENSTER NICHT.**

    Wenn ein Fehler auftritt oder die Sitzung abläuft, überprüfen und korrigieren Sie Ihre Settings. Andernfalls müssen Sie Ihre SAML-Settings im Devin Desktop-Portal deaktivieren.

    **Wenn Sie sich abmelden oder das Fenster schließen, ohne einen erfolgreichen Test zu bestätigen, könnten Sie ausgesperrt werden.**

    11. Sobald Ihr Test erfolgreich abgeschlossen wurde, können Sie sich abmelden. Sie können sich jetzt per SSO anmelden, wenn Sie die Team-/Organisationsseite mit der in Schritt 3 konfigurierten SSO-ID aufrufen.

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

  <Tab title="PingID">
    ## Voraussetzungen

    Diese Anleitung setzt voraus, dass Sie PingID konfiguriert haben und es als IDP Ihrer Organisation fungiert oder dass ein externer IDP konfiguriert ist.

    Sie benötigen Administratorzugriff auf Ihre PingID- und Devin Desktop-Konten.

    ## PingID für Devin Desktop konfigurieren

    1. Navigieren Sie zu Applications und fügen Sie Devin Desktop als SAML-Anwendung hinzu

    <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. Navigieren Sie in Team Settings zu SSO

    <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. Wenn Sie SAML zum ersten Mal aktivieren, müssen Sie Ihre SSO-ID einrichten. **Sie können sie später nicht mehr ändern.**

    Es wird empfohlen, dafür Ihren Organisations- oder Teamnamen zu verwenden und nur alphanumerische Zeichen zu nutzen.

    4. Wählen Sie in PingID aus, die Konfiguration manuell einzugeben, und füllen Sie die Felder mit den folgenden Werten aus:

    * ACS-URLs - dies ist die `Callback URL (Assertion Consumer Service URL)` aus dem Devin Desktop-Portal.
    * Entity ID - dies ist die `SP Entity ID` aus dem Devin Desktop-Portal.

    <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. Kopieren Sie die `Issuer ID` aus PingID in den Wert `IdP Entity ID` im Devin Desktop-Portal.

    6. Kopieren Sie den Wert `Single Signon Service` aus PingID in den Wert `SSO URL` im Devin Desktop-Portal.

    7. Laden Sie das Signing Certificate aus PingID als X509 PEM (.crt) herunter, öffnen Sie die Datei und kopieren Sie ihren Inhalt in den Wert `X509 Certificate` im Devin Desktop-Portal.

    **Hinweis**: Stellen Sie sicher, dass Sie die Anfangs- und Endzeilen mit 5 Bindestrichen (-) vollständig übernehmen und keine anderen Zeichen mitkopieren!

    8. Stellen Sie bei den Attributzuordnungen sicher, dass Folgendes zugeordnet ist:

    * `saml_subject` - E-Mail-Adresse
    * `firstName` - Vorname
    * `lastName` - Nachname

    <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. Fügen Sie alle weiteren Richtlinien und Zugriffe hinzu oder bearbeiten Sie sie entsprechend den Anforderungen Ihres Setups bzw. Ihrer Organisation

    10. Aktivieren Sie die SAML-Anmeldung im Devin Desktop-Portal, damit Sie sie testen können.

    **HINWEIS: MELDEN SIE SICH AN DIESEM PUNKT NICHT AB UND SCHLIESSEN SIE DAS FENSTER NICHT.**

    Falls ein Fehler auftritt oder die Sitzung abläuft, überprüfen Sie Ihre Settings. Andernfalls müssen Sie Ihre SAML-Settings im Devin Desktop-Portal deaktivieren.

    **Wenn Sie sich abmelden oder das Fenster schließen, ohne einen erfolgreichen Test zu bestätigen, könnten Sie ausgesperrt werden.**

    11. Sobald Ihr Test erfolgreich abgeschlossen wurde, können Sie sich abmelden. Sie können sich jetzt per SSO anmelden, wenn Sie mit der in Schritt 3 konfigurierten SSO-ID zu Ihrer Team-/Organisationsseite wechseln.

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