Einen OpenID Connect-Anbieter verbinden
Nutze diese Anleitung, wenn dein Identitätsanbieter OpenID Connect spricht statt SAML. Jeder OIDC-zertifizierte Issuer funktioniert — Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace und weitere folgen denselben Schritten; nur die Stelle, an der dein Anbieter die Werte anzeigt, unterscheidet sich.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Ein OIDC-Anbieter, bei dem du einen Client anlegen kannst — notiere die
Client-ID und die Aussteller-URL (die Basis, unter der das Dokument
.well-known/openid-configurationliegt), dazu das Client-Secret, wenn der Client vertraulich ist (öffentliche PKCE-Clients haben keins), - Ein Control Center-Server, den du verwaltest (der Server-Eigentümer).
Schritte
Abschnitt betitelt „Schritte“- Öffne Einstellungen → Server → Single sign-on und wechsle zu OpenID Connect.
- Trage die Aussteller-URL, die Client-ID und das Client-Secret (optional) ein, wenn der Anbieter eines ausgegeben hat. Control Center ermittelt die Endpunkte aus dem Standard-Discovery-Dokument des Issuers — eine Konfiguration je Anbieter entfällt.
- Registriere beim Anbieter die Redirect-URI
https://<your-server>/oidc/callbackfür diesen Client. - Liegen deine Gruppen unter einem anderen Claim als
groups, setze den Gruppen-Claim. Gruppen auf Rollen abzubilden ist optional (SSO kann die Rolle Eigentümer nie vergeben). - Lege fest, ob Personen bei der ersten Anmeldung jedem Arbeitsbereich beitreten oder eine Einladung je Arbeitsbereich brauchen, schalte OpenID Connect für die Anmeldung verwenden ein und klicke auf Verbindung speichern.
- Klicke auf Verbindung testen — der Server holt das Discovery-Dokument des Issuers und bestätigt dessen Endpunkte. Ein grüner Toast heißt, dass alles außer dem Browser-Roundtrip funktioniert. Die Client-Registrierung prüfst du mit der Prüfung unten.
- Melde dich einmal an: auf dem Verbindungsbildschirm im Web steht Mit
OpenID Connect anmelden, oder du öffnest direkt
https://<your-server>/oidc/login.
Claims (E-Mail, Name, Gruppen) liest dein Server über TLS vom Token-Endpunkt
des Issuers — der Browser liefert sie nie, deshalb entfällt jede lokale
Prüfung der JWT-Signatur. Der Client muss den Scope openid profile email
anfordern dürfen; genau den fordert Control Center an.
Weil allein dieser TLS-Kanal die Claims authentifiziert, muss die
Aussteller-URL https sein — ein Issuer im Klartext ließe jeden Angreifer
auf dem Pfad beliebige Identitäten fälschen. http ist nur für
Loopback-Issuer (localhost, 127.0.0.1, ::1) zulässig, und nur für die
lokale Entwicklung.
Konfiguration von dieser Seite prüfen
Abschnitt betitelt „Konfiguration von dieser Seite prüfen“Die Prüfung unten läuft in deinem Browser. Sie holt das Discovery-Dokument deines Issuers direkt, sodass diese Website es nie sieht, und wendet die Regeln des Servers an: ein https-Issuer, der zum Dokument passt, Endpunkte auf dem eigenen Origin des Issuers, PKCE S256 und die Token-Authentifizierungsmethode, die dein Client-Typ braucht. Mit einer Client-ID und einer Serveradresse kann sie eine Testanmeldung öffnen, die zeigt, ob der Client und seine Redirect-URI registriert sind. Nach dem Client-Secret fragt sie nie.
Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.
Test sign-in at your provider
- Your provider's sign-in or consent page: the client ID and redirect URI are registered. You can close the tab.
- An error at your provider: it names what to fix, usually a redirect URI that is not registered or an unknown client ID.
- Your server's "Sign-in failed" page: also a pass. The provider accepted the request and sent you back; your server refuses it only because this page started the sign-in, not your server.