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:
- Erkennt die SSO-Verbindung über die E-Mail-Domain
- Leitet den Benutzer zur Unternehmens-IdP-Login-Seite weiter
- Empfängt die SAML-Assertion oder das OIDC-Token vom IdP
- Ordnet IdP-Benutzerattribute Auris-Benutzerfeldern zu
- Stellt das Benutzerkonto in Auris bereit, falls es nicht existiert (JIT-Provisionierung)
- 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):
| Feld | Wert |
|---|---|
| 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 Format | urn: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-Feld | Gängiges SAML-Attribut |
|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress oder email | |
| Vorname | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname oder firstName |
| Nachname | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname oder lastName |
| Benutzername | http://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:
/api/auth/sso/detectPrü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 mitsource: '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:
- In den SSO-Verbindungseinstellungen → Tab Role Mapping
- IdP-Gruppenwerte (aus einem
groups-SAML-Attribut oder OIDC-Claim) Auris-Rollen zuordnen - 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-RolleAdministrator - IdP-Gruppe
AurisViewers→ Auris-RolleViewer
API-Endpunkte
/api/organizations/:orgId/sso/connectionsRequires: view:sso_connectionsListet alle SSO-Verbindungen für eine Organisation auf, einschließlich Verbindungstyp, Status und Domain-Zuordnungen.
/api/organizations/:orgId/sso/connectionsRequires: manage:sso_connectionsErstellt eine neue SSO-Verbindung. Body enthält type (saml oder oidc), name und typspezifische Konfiguration.
/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connectionsAktualisiert die SSO-Verbindungskonfiguration oder schaltet den aktiven Status um.
/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connectionsLöscht eine SSO-Verbindung. Benutzer, die sich über diese Verbindung authentifiziert haben, behalten ihre Konten, verlieren aber die SSO-Anmeldemethode.
/api/organizations/:orgId/sso/domainsRequires: manage:sso_connectionsFügt eine Domain zu einer Organisation für die SSO-Erkennung hinzu. Startet den DNS-Verifizierungsprozess.
/api/organizations/:orgId/sso/domains/:domainId/checkRequires: manage:sso_connectionsLö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
- Organisationen — Organisationen für B2B-Multi-Tenancy einrichten
- Hosted Login (PKCE) — Der OAuth2-Flow, den deine Anwendung verwendet (bei SSO unverändert)
- Benutzerverwaltung — SSO-provisionierte Benutzerkonten verwalten