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

# OAuth2 SSO

> Richte einen Unternehmenslogin über OAuth2 in anny ein, inklusive Callback-URL, Scopes und Attributzuordnung.

In diesem Artikel erfährst du, wie du einen Unternehmenslogin über OAuth2 bei anny einrichtest. Das ist die richtige Wahl, wenn dein Identity Provider weder SAML 2.0 noch OpenID Connect unterstützt.

> [!NOTE]
>
> Unterstützt dein Identity Provider SAML 2.0, empfehlen wir diesen Weg, da mehr Funktionen wie SCIM und föderierte Anmeldungen zur Verfügung stehen. Eine Anleitung findest du unter [Generisches SAML 2.0 SSO](https://docs.anny.co/generic-saml-sso.md). Unterstützt er OpenID Connect, ist [OpenID Connect SSO](https://docs.anny.co/openid-connect-sso.md) der einfachere Weg, weil anny die Endpunkte dort automatisch ausliest.

## Vorbereitung

Die SSO Verbindung kannst du selbstständig in deinem anny [Admin Bereich](https://app.anny.co/organization/settings/sso?o=) unter **Account > Einstellungen > SSO & Sicherheit** hinterlegen. Neben den anny Admin Rechten benötigst du administrativen Zugang zu deinem Identity Provider, um dort eine OAuth2-Anwendung anzulegen.

Lege zuerst in deinem Identity Provider eine neue OAuth2-Anwendung (teilweise auch "Client" oder "App" genannt) an. Du erhältst dabei eine Client ID und ein Client Secret.

## Einrichtung

**1. Identity Provider in anny anlegen**

Gehe in die [SSO Einstellungen](https://app.anny.co/organization/settings/sso?o=), wähle die Kachel **Benutzerdefiniertes OAuth2** (ist schon ein Identity Provider verbunden, zuerst **IDP hinzufügen**). Vergib einen Namen, zum Beispiel "Unternehmenslogin".

**2. Zugangsdaten und URLs eintragen**

Trage Client ID, Client Secret sowie die drei Endpunkte deines Identity Providers ein. Welche Werte gemeint sind, erklärt die Tabelle unten. Klicke anschließend auf **Verbinden**.

**3. Callback-URL bei deinem Identity Provider hinterlegen**

Nach dem Verbinden zeigt anny dir die **Weiterleitungs-/Callback-URL** im Identity Provider an (drei Punkte > **Bearbeiten**). Kopiere sie und trage sie in deinem Identity Provider als erlaubte Redirect-URL ein.

**4. Verbindung testen und aktivieren**

Aktiviere den Identity Provider über den Schalter **Aktiv/Inaktiv**, klicke auf **Speichern** und teste den Login über die drei Punkte > **Login testen & Benutzer verbinden**.

> [!WARNING]
>
> **Wichtig:** Die Callback-URL steht erst nach dem ersten Speichern zur Verfügung, da sie die ID des Identity Providers enthält. Solange die URL bei deinem Identity Provider nicht hinterlegt ist, bricht der Login mit einer Fehlermeldung wie "redirect\_uri mismatch" ab.

Die Callback-URL folgt diesem Muster, wobei `{id}` die ID des angelegten Identity Providers ist:

Callback-URL: [**https://auth.anny.co/identity-provider/\{id}/oauth/callback**](https://auth.anny.co/identity-provider/\{id}/oauth/callback)

## Pflichtfelder

| Feld in anny | Beschreibung |
| - | - |
| **Client ID** | Die Kennung der OAuth2-Anwendung, die du in deinem Identity Provider angelegt hast. |
| **Client Secret** | Das zugehörige Geheimnis. anny speichert es verschlüsselt. |
| **Autorisierungs-URL** | Der Endpunkt, zu dem anny deine Nutzer:innen zum Login weiterleitet. Endet häufig auf `/authorize`. |
| **Token-URL** | Der Endpunkt, über den anny den Access Token abruft. Endet häufig auf `/token`. |
| **UserInfo-URL** | Der Endpunkt, über den anny die Nutzerdaten abruft. Endet häufig auf `/userinfo`. |
| **Scopes** | Die angefragten Berechtigungen, getrennt durch Leerzeichen. Bei OpenID Connect üblicherweise `openid profile email`. |

> [!TIP]
>
> Viele Identity Provider veröffentlichen ihre Endpunkte unter `https://<dein-provider>/.well-known/openid-configuration`. Dort findest du die Werte für Autorisierungs-URL, Token-URL und UserInfo-URL gebündelt. Existiert dieses Dokument, unterstützt dein Identity Provider OpenID Connect — dann musst du die Endpunkte nicht von Hand eintragen, siehe [OpenID Connect SSO](https://docs.anny.co/openid-connect-sso.md).

## Erweiterte Optionen

Die erweiterten Optionen brauchst du nur, wenn dein Identity Provider vom Standard abweicht. Du findest sie im Formular unter "Erweiterte Optionen".

| Feld in anny | Beschreibung |
| - | - |
| **PKCE verwenden** | Aktiviere diese Option, wenn dein Identity Provider Proof Key for Code Exchange voraussetzt. |
| **Scope-Trennzeichen** | Zeichen, mit dem die Scopes in der Anfrage getrennt werden. Die meisten OpenID-Connect-Anbieter erwarten ein Leerzeichen. |
| **Token-Anfrage als JSON senden** | Fordert den Access Token mit einem JSON-Body statt einer Formular-Kodierung an. |
| **Basic-Auth-Benutzername und -Passwort** | Werden als HTTP-Basic-Authentifizierung an den Token-Endpunkt gesendet, falls dein Identity Provider das verlangt. |
| **Attribut-Felder** | Legen fest, aus welchen Feldern der User-Info-Antwort anny ID, E-Mail, Vor- und Nachname liest. |

### Attribute zuordnen

Standardmäßig erwartet anny die Felder `id`, `email`, `firstname` und `lastname`. Viele Identity Provider nutzen abweichende Namen. Bei OpenID Connect sind zum Beispiel folgende Werte üblich:

| Feld in anny | Typischer Wert bei OpenID Connect |
| - | - |
| **Benutzer-ID-Attribut** | `sub` |
| **E-Mail-Attribut** | `email` |
| **Vorname-Attribut** | `given_name` |
| **Nachname-Attribut** | `family_name` |

Liegen die Werte verschachtelt in der Antwort, kannst du den Pfad mit Punkten angeben, zum Beispiel `data.user.id`.

> [!NOTE]
>
> Diese Felder steuern nur, woher anny die Nutzerdaten liest. Wenn du Nutzer:innen zusätzlich automatisch Communities zuordnen möchtest, nutze dafür das [Attribute Mapping](https://docs.anny.co/attribute-mapping.md).

## Nach der Einrichtung

* Über die drei Punkte > **Wayfless-Link generieren** kannst du dir einen Wayfless-Link erzeugen. Damit landen deine Nutzer:innen direkt im Login deines Identity Providers.
* Mit [Attribute Mapping](https://docs.anny.co/attribute-mapping.md) ordnest du Nutzer:innen automatisch Communities zu.

## Troubleshooting

> **404: Seite nicht gefunden**
>
> Der Identity Provider ist noch nicht aktiviert. Aktiviere ihn über den Schalter **Aktiv/Inaktiv** und speichere. Solange er deaktiviert ist, sind Login und Callback bewusst nicht erreichbar.

> **redirect\_uri mismatch**
>
> Die Callback-URL ist bei deinem Identity Provider nicht oder nicht exakt hinterlegt. Kopiere sie erneut aus anny und achte darauf, dass sie zeichengenau übereinstimmt, inklusive `https://` und ohne abschließenden Schrägstrich.

> **Login funktioniert, aber es fehlen Nutzerdaten**
>
> Prüfe die Attribut-Felder in den erweiterten Optionen. Wenn dein Identity Provider zum Beispiel `given_name` statt `firstname` liefert, muss der Wert dort entsprechend hinterlegt sein. Prüfe außerdem, ob die angefragten Scopes ausreichen, um E-Mail und Namen zu erhalten.

> **Fehler beim Abrufen des Tokens**
>
> Kontrolliere Client ID und Client Secret sowie die Token-URL. Verlangt dein Identity Provider HTTP-Basic-Authentifizierung oder einen JSON-Body, aktiviere die passenden erweiterten Optionen.

Eine allgemeine Übersicht zu SSO findest du hier: [SSO Übersicht](https://docs.anny.co/sso-overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.