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

# SSO mit Okta einrichten

> Schritt-für-Schritt: Single Sign-on über Okta verbinden, Domain verifizieren und Anmeldung erzwingen.

> [!NOTE]
>
> **Für wen dieser Artikel ist:** für den **Organisationsinhaber** in Reiner, der Single Sign-on konfiguriert — gemeinsam mit einem **Okta-Administrator**, der eine App-Integration anlegen kann. Oft ist das dieselbe Person.
>
> **Ergebnis:** Die Mitglieder deiner Organisation melden sich mit ihrem Okta-Konto bei Reiner an, und du kannst SSO für alle verifizierten Domains verpflichtend machen.
>
> Die Entra ID-Variante dieser Anleitung findest du unter [**SSO mit Microsoft Entra ID einrichten**](https://docs.reiner.ai/admin/sso-entra-id.md) — nutze diese, wenn dein Identity Provider Microsoft Entra ID ist.

## So funktioniert es

Reiner vermittelt die Anmeldungen über deine Okta-Org per Standard **OpenID Connect**. Du legst eine Anwendung in Okta an, weist nach, dass dir deine E-Mail-Domain gehört, und trägst dann drei Werte in Reiner ein. Sobald SSO erzwungen wird, wird jede Person mit einer E-Mail-Adresse aus einer verifizierten Domain direkt zu Okta zur Anmeldung weitergeleitet.

## Bevor du startest

* Du bist **Organisationsinhaber** in Reiner. Nur Inhaber können SSO konfigurieren.
* Dein Plan enthält SSO. Falls du den SSO-Bereich nicht siehst, wende dich an Reiner.
* Du hast **Administrator-Zugriff auf Okta**, um eine App-Integration und ein Client Secret zu erstellen.
* Du kannst für jede E-Mail-Domain, die du nutzen möchtest, einen **DNS-TXT-Eintrag** anlegen.

> [!TIP]
>
> **Die drei Werte, die du von Okta nach Reiner überträgst:** die **Okta-Domain**, die **Client-ID** und das **Client Secret**. Und der **eine Wert**, den du von Reiner nach Okta überträgst: die **Redirect-URI**.

## Schritt 1 — Redirect-URI in Reiner abholen

**1. Einstellungen öffnen**

Öffne in Reiner **Einstellungen → Organisation → Single Sign-on (SSO)**.

**2. Okta wählen**

Wähle in der Auswahl des Identity Providers **Okta**.

**3. Redirect-URI kopieren**

Kopiere die dort angezeigte **Redirect-URI**. Sie sieht so aus: `https://account.reiner.ai/realms/<realm>/broker/sso-<deine-org-id>/endpoint`

> [!WARNING]
>
> Kopiere immer genau die Redirect-URI, die in deinen Reiner-SSO-Einstellungen angezeigt wird. Sie ist einzigartig für deine Organisation. Okta lehnt die Anmeldung ab, wenn dieser Wert nicht zeichengenau übereinstimmt.

## Schritt 2 — App-Integration in Okta anlegen

Das machst du in der **Okta Admin Console → Applications → Applications**.

**1. App-Integration erstellen**

Klick auf **Create App Integration**. Wähle **OIDC - OpenID Connect** und als Anwendungstyp **Web Application**. Klick auf **Next**.

**2. Name vergeben**

Gib einen Namen ein, z. B. `Reiner AI SSO`.

**3. Grant Type prüfen**

Lass unter **Grant type** die Option **Authorization Code** aktiviert.

**4. Redirect-URI eintragen**

Füge unter **Sign-in redirect URIs** die Redirect-URI aus Schritt 1 ein. **Sign-out redirect URIs** kannst du leer lassen.

**5. Zuweisen und speichern**

Weise unter **Assignments** die Nutzer oder Gruppen zu, die sich bei Reiner anmelden dürfen. Klick auf **Save**.

**6. Zugangsdaten kopieren**

Kopiere im Tab **General** der App die **Client-ID** und das **Client Secret** aus dem Abschnitt **Client Credentials**.

> [!WARNING]
>
> Wähle **Web Application** — nicht SPA und nicht Native. Der Broker von Reiner ist ein Confidential Client und benötigt ein Client Secret, das nur der Typ Web Application ausgibt.

> [!NOTE]
>
> Okta sendet den Standard-Claim `email` mit den Scopes `email` und `profile`. Das Problem mit fehlenden E-Mail-Adressen, das bei Entra ID auftreten kann, gibt es hier also nicht. Stell nur sicher, dass deine SSO-Nutzer in Okta eine E-Mail-Adresse haben (was normalerweise der Fall ist).

## Schritt 3 — E-Mail-Domain in Reiner verifizieren

**1. Domain hinzufügen**

Zurück in **Einstellungen → Organisation → Single Sign-on (SSO)**: Füge unter **Domains** die Domain hinzu, mit der sich deine Nutzer anmelden, z. B. `acme.com`.

**2. DNS-Eintrag anlegen**

Reiner zeigt dir ein **Verifizierungs-Token**. Lege einen DNS-TXT-Eintrag an, siehe Tabelle unten.

**3. Verifizieren**

Warte, bis das DNS propagiert ist (meist wenige Minuten), und klick dann neben der Domain auf **Verifizieren**.

| Eintragstyp | Host / Name | Wert |
| - | - | - |
| TXT | `_reiner-challenge` | das in Reiner angezeigte Token |

> [!TIP]
>
> Du kannst mehr als eine Domain hinzufügen. Jede Domain wird einzeln verifiziert, und eine Domain kann nur zu einer Organisation gehören.

## Schritt 4 — SSO in Reiner verbinden

**1. Verbinden öffnen**

Prüfe in **Einstellungen → Organisation → Single Sign-on (SSO)**, dass als Provider **Okta** eingestellt ist, und klick dann auf **Verbinden** (oder **Konfigurieren**).

**2. Werte eintragen**

Füge die drei Werte aus der Tabelle unten ein.

**3. Speichern**

Reiner prüft die Discovery URL und speichert die Verbindung. Das Client Secret wird ausschließlich in das Anmeldesystem geschrieben und nie im Klartext gespeichert.

| Feld in Reiner | Woher der Wert kommt |
| - | - |
| **Okta-Domain** | Deine Okta-Org-Domain, z. B. `acme.okta.com` |
| **Client-ID** | Client Credentials, Schritt 2.6 |
| **Client Secret** | Client Credentials, Schritt 2.6 |

> [!TIP]
>
> **Die Discovery URL musst du nicht selbst zusammenbauen.** Reiner setzt sie aus deiner Okta-Domain zusammen und zeigt sie unter dem Feld als Vorschau an (**„Discovery-URL: …"**) — so kannst du sie vor dem Speichern gegenprüfen. Verwendet wird der **Org Authorization Server**, die richtige Wahl für die Anmeldung.

### Sonderfall: Custom Authorization Server

Falls sich deine Organisation auf einen **Custom Authorization Server** festgelegt hat, aktiviere **„Stattdessen eine benutzerdefinierte Discovery-URL eingeben"** und trage dessen Metadata-URL ein, zum Beispiel:

`https://<deine-okta-domain>/oauth2/<authServerId>/.well-known/openid-configuration`

Beides funktioniert — Reiner liest die Endpunkte aus der Discovery URL, die du angibst.

## Schritt 5 — Testen, bevor du SSO erzwingst

> [!TIP]
>
> Teste zuerst mit einem Mitglied, das **nicht Inhaber** ist — so behältst du deinen Inhaber-Zugang, falls etwas nicht stimmt. Stell sicher, dass dieses Mitglied der Okta-App zugewiesen ist (Schritt 2.5).

**1. Anmeldelink kopieren**

Kopiere den **SSO-Anmeldelink** aus deinen SSO-Einstellungen, oder öffne Reiner und wähle **Mit SSO anmelden**.

**2. Testanmeldung prüfen**

Prüfe, dass der Testnutzer zu Okta weitergeleitet wird, sich anmeldet und mit dem richtigen Konto in Reiner landet.

## Schritt 6 — SSO erzwingen

Wenn der Test erfolgreich war, aktiviere **SSO erzwingen**. Ab dann wird jede Person mit einer E-Mail-Adresse aus einer verifizierten Domain direkt zu Okta geleitet und kann kein Passwort mehr nutzen.

> [!NOTE]
>
> **Du kommst immer wieder rein.** Falls SSO einmal nicht funktioniert, kann ein Organisationsinhaber auf der [SSO-Recovery-Seite](https://app.reiner.ai/login/sso-recovery) einen einmaligen Ersatz-Anmeldelink anfordern. Der Link ist einmalig nutzbar und läuft nach 15 Minuten ab. Genau deshalb ist der Test mit einem Nicht-Inhaber in Schritt 5 wichtig — Inhaber behalten so einen Wiederherstellungsweg.

## SSO später verwalten

* **Erzwingen deaktivieren (Killswitch):** Schalte **SSO erzwingen** aus. Mitglieder können sich dann wieder ohne SSO anmelden. Die Verbindung bleibt konfiguriert.
* **Client Secret rotieren:** Erstelle ein neues Secret in Okta und trage es über **Secret ersetzen** in Reiner ein. Erzwingen und Domains bleiben erhalten.
* **Domains hinzufügen oder entfernen:** Verwalte sie in der Liste **Domains**. Jede neue Domain braucht ihre eigene DNS-TXT-Verifizierung.
* **SSO vollständig trennen:** Nutze **Trennen**.

> [!NOTE]
>
> **Was Trennen macht — und was nicht.** Das Trennen entfernt die Verbindung auf Seiten von Reiner: die Verbindung wird von deiner Organisation entkoppelt, die verifizierten Domains werden zurückgesetzt, die gespeicherte Konfiguration gelöscht und die SSO-Verknüpfung deiner Mitglieder aufgehoben. Deine Okta-Org wird dabei **nicht** angetastet — Reiner hat dort keinen Administrator-Zugriff. Deine Okta-App-Integration ist ohne die Verbindung wirkungslos (ihre Redirect-URI löst nicht mehr auf), und du kannst sie in der Okta Admin Console löschen oder deaktivieren, wann es dir passt.

## Funktioniert etwas nicht?

| Symptom | Wahrscheinliche Ursache und Lösung |
| - | - |
| Okta-Fehler: **user is not assigned to the app** | Weise den Nutzer (oder seine Gruppe) der Reiner-App-Integration in Okta zu (Schritt 2.5). |
| Okta-Fehler / Weiterleitung nach der Anmeldung abgelehnt | Die **Sign-in redirect URI** in Okta stimmt nicht mit der in Reiner überein. Kopiere sie erneut aus Schritt 1 und prüfe, dass sie in der Integration vom Typ **Web Application** eingetragen ist. |
| Verbinden schlägt bei der Prüfung der Discovery URL fehl | Prüfe die Okta-Domain. Nutzt du eine benutzerdefinierte Discovery URL, prüfe, dass sie auf `/.well-known/openid-configuration` endet. Sie muss öffentlich per HTTPS erreichbar sein. |
| Domain wird nicht verifiziert | Prüfe, dass der Host des TXT-Eintrags genau `_reiner-challenge` lautet und der Wert dem Token entspricht. Gib dem DNS Zeit zu propagieren. |
| Nutzer werden nicht zu SSO weitergeleitet | Ihre E-Mail-Domain ist nicht verifiziert, oder das Erzwingen ist ausgeschaltet. Verifiziere die Domain und aktiviere **SSO erzwingen**. |

Immer noch nicht gelöst? Wende dich mit dem Namen deiner Organisation und dem ungefähren Zeitpunkt der fehlgeschlagenen Anmeldung an den Reiner-Support.


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