Skip to Content

Enterprise SSO

Auris ermöglicht es Unternehmenskunden, sich mit ihrem bestehenden Unternehmens-Identity-Provider (IdP) zu authentifizieren — Azure Active Directory, Okta, Google Workspace, OneLogin, PingIdentity oder jeder SAML 2.0 oder OIDC-konforme IdP.

SSO-Verbindungen sind auf Organisationen beschränkt. Jede Organisation in Auris kann eine oder mehrere SSO-Verbindungen haben, und die passende Verbindung wird automatisch anhand der E-Mail-Domain des Benutzers erkannt.


Übersicht

Wenn ein Benutzer mit einer E-Mail, die zu einer verifizierten Domain passt, versucht sich anzumelden, unternimmt Auris folgendes:

  1. Erkennt die SSO-Verbindung über die E-Mail-Domain
  2. Leitet den Benutzer zur Unternehmens-IdP-Login-Seite weiter
  3. Empfängt die SAML-Assertion oder das OIDC-Token vom IdP
  4. Ordnet IdP-Benutzerattribute Auris-Benutzerfeldern zu
  5. Stellt das Benutzerkonto in Auris bereit, falls es nicht existiert (JIT-Provisionierung)
  6. Stellt ein Auris-Access-Token und Refresh-Token aus

Aus Sicht deiner Anwendung ist der Flow identisch mit jedem anderen Auris-Login — du verwendest dasselbe SDK, dieselbe Callback-URL und erhältst dasselbe Token-Format.


SAML 2.0-Einrichtung

Organisation erstellen

Enterprise-SSO-Verbindungen sind an Organisationen gebunden. Falls du noch keine Organisation für den Unternehmenskunden erstellt hast, gehe zu Console → Organizations → Create Organization.

SSO-Konfiguration öffnen

Navigiere zur Detailseite der Organisation → Tab Enterprise SSO → Add Connection → SAML 2.0.

SAML-IdP konfigurieren

Erstelle in der Admin-Oberfläche deines IdP eine neue SAML-Anwendung. Du benötigst folgende Auris-Werte (in der Console nach Auswahl von SAML 2.0 angezeigt):

FeldWert
Entity ID (Audience URI)https://auth.yourdomain.com/saml/{connectionId}
ACS URL (Reply URL)https://auth.yourdomain.com/api/auth/sso/callback/{connectionId}
Name ID Formaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

IdP-Metadaten in der Auris Console eingeben

Beziehe von deinem IdP:

  • Metadata-URL oder Metadata-XML — Auris verwendet dies, um IdP-Entity-ID, SSO-URL und Signaturzertifikat zu extrahieren
  • Oder gib SSO-URL, Entity ID und Zertifikat manuell ein

Attribut-Mapping konfigurieren

Ordne SAML-Attribute Auris-Benutzerfeldern zu. Gängige Zuordnungen:

Auris-FeldGängiges SAML-Attribut
E-Mailhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress oder email
Vornamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname oder firstName
Nachnamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname oder lastName
Benutzernamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Verbindung aktivieren

Klicke auf Activate. Der Verbindungsstatus ändert sich zu Active. Teste, indem du auf Test Connection klickst, was die IdP-Login-Seite in einem neuen Tab öffnet.


OIDC-Provider-Einrichtung

SSO-Konfiguration öffnen

Navigiere zur Detailseite der Organisation → Tab Enterprise SSO → Add Connection → OIDC.

Auris in deinem OIDC-Provider registrieren

Registriere in deinem IdP (z. B. Azure AD, Okta, Auth0, Google Workspace) eine neue OIDC-Anwendung:

  • Redirect URI: https://auth.yourdomain.com/api/auth/sso/callback/{connectionId}
  • Grant Type: Authorization Code
  • Token Endpoint Auth Method: client_secret_post

Kopiere Client ID und Client Secret.

OIDC-Konfiguration in der Auris Console eingeben

Gib entweder ein:

  • Discovery URL (empfohlen): die OIDC .well-known/openid-configuration-URL für deinen IdP — Auris ruft alle Endpunkt-URLs automatisch ab
  • Oder individuelle Felder: Authorization Endpoint, Token Endpoint, Userinfo Endpoint, JWKS URI

Gib Client ID und Client Secret aus dem vorherigen Schritt ein.

Scopes konfigurieren

Die Standard-Scopes openid profile email sind für die meisten Deployments ausreichend. Füge benutzerdefinierte Scopes hinzu, wenn dein IdP diese benötigt, um zusätzliche Attribute freizugeben.

Aktivieren und testen

Klicke auf Activate, dann auf Test Connection, um den Flow von Ende zu Ende zu verifizieren.


Domain-Verifizierung

Damit die SSO-Erkennung funktioniert, musst du das Eigentum an der/den von den Mitgliedern der Organisation verwendeten E-Mail-Domain(s) nachweisen.

Domain hinzufügen

Unter Tab Enterprise SSO der Organisation → Domains → Add Domain. Gib die Domain ein (z. B. acme.com).

DNS-TXT-Eintrag hinzufügen

Auris generiert einen Verifizierungs-Token. Füge einen TXT-Eintrag zum DNS deiner Domain hinzu:

Typ: TXT Name: _auris-verify.acme.com Wert: auris-verify=abc123xyz456...

Verifizierung auslösen

Klicke nach dem Hinzufügen des DNS-Eintrags auf Verify in der Console. Auris führt eine DNS-TXT-Eintrags-Suche durch und markiert die Domain als verifiziert.

Die DNS-Propagierung kann bis zu 48 Stunden dauern, ist aber für die meisten Anbieter typischerweise unter 5 Minuten.

Eine einzelne Domain kann nur für eine Organisation innerhalb eines Tenants verifiziert werden. Der Versuch, eine bereits beanspruchte Domain zu verifizieren, gibt einen Fehler zurück.


SSO-Erkennung

Auris erkennt automatisch die SSO-Verfügbarkeit, wenn ein Benutzer seine E-Mail auf der gehosteten Login-Seite eingibt. Die Erkennung ist auch als API-Aufruf für benutzerdefinierte Login-Oberflächen verfügbar:

POST/api/auth/sso/detect

Prüft, ob SSO für eine E-Mail-Domain konfiguriert ist. Body: { email: string }. Gibt { ssoEnabled: boolean, connectionAlias?: string, provider?: 'saml' | 'oidc' } zurück.

// Benutzerdefinierte Login-Oberfläche: auf SSO prüfen, bevor das Passwortfeld angezeigt wird async function checkSso(email) { const domain = email.split('@')[1] const response = await fetch('/api/auth/sso/detect', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email }), }) const data = await response.json() if (data.ssoEnabled) { // Zu SSO weiterleiten — Passwortfeld überspringen window.location.href = `/api/auth/sso/login/${data.connectionAlias}` } else { // Passwortfeld anzeigen showPasswordField() } }

JIT-Provisionierung

Just-in-Time-Provisionierung erstellt automatisch ein neues Auris-Benutzerkonto beim ersten SSO-Login eines Benutzers. Dies eliminiert die Notwendigkeit, Konten vorab zu erstellen oder Benutzerlisten manuell zu synchronisieren.

Beim ersten SSO-Login:

  • Auris erstellt ein Benutzerkonto mit den aus der SAML-Assertion oder dem OIDC-Token zugeordneten Attributen
  • Der Benutzer erhält alle für die Organisation konfigurierten Standardrollen
  • Ein user.created-Audit-Log-Ereignis wird mit source: 'sso_jit' aufgezeichnet

Bei nachfolgenden SSO-Logins:

  • Auris aktualisiert die Benutzerattribute vom IdP (Name, E-Mail), wenn sie sich geändert haben
  • Rollenzuweisungen aus früheren Sitzungen werden beibehalten
  • Ein user.login-Audit-Log-Ereignis wird aufgezeichnet

JIT-Provisionierung deaktivieren: Schalte JIT Provisioning in den SSO-Verbindungseinstellungen aus. Bei deaktiviertem JIT müssen Benutzer vorab in Auris erstellt werden (manuell oder über SCIM), bevor sie SSO verwenden können.


Rollen-Mapping

Standardmäßig erhalten SSO-Benutzer keine Rollen in Auris. Du kannst automatische Rollenzuweisung basierend auf IdP-Gruppenmitgliedschaft konfigurieren:

  1. In den SSO-Verbindungseinstellungen → Tab Role Mapping
  2. IdP-Gruppenwerte (aus einem groups-SAML-Attribut oder OIDC-Claim) Auris-Rollen zuordnen
  3. Rollen-Mappings werden bei jedem Login angewendet — wenn ein Benutzer aus einer IdP-Gruppe entfernt wird, verliert er beim nächsten Login die entsprechende Auris-Rolle

Beispiel-Mapping:

  • IdP-Gruppe AurisAdmins → Auris-Rolle Administrator
  • IdP-Gruppe AurisViewers → Auris-Rolle Viewer

API-Endpunkte

GET/api/organizations/:orgId/sso/connectionsRequires: view:sso_connections

Listet alle SSO-Verbindungen für eine Organisation auf, einschließlich Verbindungstyp, Status und Domain-Zuordnungen.

POST/api/organizations/:orgId/sso/connectionsRequires: manage:sso_connections

Erstellt eine neue SSO-Verbindung. Body enthält type (saml oder oidc), name und typspezifische Konfiguration.

PATCH/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connections

Aktualisiert die SSO-Verbindungskonfiguration oder schaltet den aktiven Status um.

DELETE/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connections

Löscht eine SSO-Verbindung. Benutzer, die sich über diese Verbindung authentifiziert haben, behalten ihre Konten, verlieren aber die SSO-Anmeldemethode.

POST/api/organizations/:orgId/sso/domainsRequires: manage:sso_connections

Fügt eine Domain zu einer Organisation für die SSO-Erkennung hinzu. Startet den DNS-Verifizierungsprozess.

POST/api/organizations/:orgId/sso/domains/:domainId/checkRequires: manage:sso_connections

Löst DNS-TXT-Eintrags-Verifizierung für eine ausstehende Domain aus.


Sicherheitsüberlegungen

SAML-Signatur-Verifizierung — Auris validiert SAML-Assertions mit dem Signaturzertifikat des IdP. Unsignierte oder falsch signierte Assertions werden abgelehnt.

OIDC-State und Nonce — Der OIDC-Flow verwendet einen State-Parameter für CSRF-Schutz und einen Nonce-Claim zur Verhinderung von Token-Replay.

Domain-Übernahme-Schutz — Eine verifizierte Domain kann nur von einer Organisation pro Tenant beansprucht werden. Eine erneute Verifizierung nach Domain-Übertragung erfordert explizite Admin-Aktion.

Bypass-Verhinderung — Sobald eine Domain verifiziert und SSO aktiv ist, werden Benutzer mit dieser E-Mail-Domain zum SSO-Flow geleitet. Sie können SSO nicht umgehen und sich mit einem Passwort anmelden, es sei denn, die Verbindung wird deaktiviert.

Wenn du eine SSO-Verbindung für eine Domain deaktivierst, können Benutzer dieser Domain möglicherweise nicht mehr einloggen, wenn ihre Konten kein Passwort gesetzt haben (JIT-provisionierte Konten haben standardmäßig kein Passwort). Stelle sicher, dass Benutzer eine alternative Anmeldemethode haben, bevor du eine Verbindung deaktivierst.


Verwandte Anleitungen