Single Sign-on (OIDC)
EE meldet Benutzer über einen beliebigen OpenID-Connect-Provider an — Keycloak, Authentik, Entra ID, Google Workspace und alles andere, was OIDC-Discovery beherrscht.
Einrichtung
Abschnitt betitelt „Einrichtung“Beim Identity-Provider einen Client anlegen (Authorization Code Flow, vertraulich) und die Rücksprungadresse eintragen:
https://dns.example.com/api/v1/auth/sso/callbackDann die Instanz konfigurieren:
DNSE_SSO_ISSUER=https://id.example.com/realms/firmaDNSE_SSO_CLIENT_ID=dns-editorDNSE_SSO_CLIENT_SECRET=…DNSE_SSO_REDIRECT_URL=https://dns.example.com/api/v1/auth/sso/callbackDNSE_SSO_AUTOPROVISION=on # VorgabeAlle vier ersten Variablen müssen gesetzt sein. Fehlt eine, bleibt SSO
schlicht aus — es gibt keinen halb aktiven Zustand. Ist es aktiv, meldet
GET /api/v1/instance das mit sso: true, und die Anmeldemaske zeigt
zusätzlich Mit SSO anmelden.
- Benutzer klickt Mit SSO anmelden (
/api/v1/auth/sso/login). - Weiterleitung zum Identity-Provider — Authorization Code mit PKCE;
stateund Verifier liegen in kurzlebigen HttpOnly-Cookies (10 Minuten). - Nach der Anmeldung Rücksprung auf die Callback-Adresse, Prüfung von
stateund ID-Token. - Zuordnung zum Konto über die E-Mail-Adresse, ersatzweise über den Benutzernamen.
- Ab hier läuft eine ganz normale Session — alle Rechte kommen wie gewohnt aus Rollen und Projektmitgliedschaften.
Die Metadaten des Providers (Discovery) werden beim ersten Bedarf geholt, nicht beim Start: Ein vorübergehend nicht erreichbarer Identity-Provider verhindert den Start der Instanz nicht.
Auto-Provisionierung
Abschnitt betitelt „Auto-Provisionierung“Mit DNSE_SSO_AUTOPROVISION=on (Vorgabe) wird für eine unbekannte, vom
Provider bestätigte Identität automatisch ein Konto angelegt — mit einem
unbrauchbaren Zufallspasswort, sodass nur der SSO-Weg funktioniert. Neue
Konten bekommen die normale Benutzerrolle; Rechte vergibt der Administrator
anschließend über Projekte und Teams.
Mit DNSE_SSO_AUTOPROVISION=off wird eine unbekannte Identität abgewiesen
(HTTP 403). Das ist der Weg, wenn Konten kontrolliert vorab angelegt werden
sollen.
Zusammenspiel mit lokalen Konten
Abschnitt betitelt „Zusammenspiel mit lokalen Konten“SSO ersetzt die lokale Anmeldung nicht — beide Wege existieren nebeneinander. Das bleibt bewusst so: Ein Administrator kommt auch dann noch hinein, wenn der Identity-Provider ausfällt.
Die Zwei-Faktor-Anmeldung gilt für den lokalen Anmeldeweg. Bei SSO ist der Identity-Provider für einen zweiten Faktor zuständig.