Was ist OpenID Connect?
OpenID Connect, kurz OIDC, ist eine Authentifizierungsschicht, die auf OAuth 2.0 aufsetzt. Während OAuth ausschließlich die Frage beantwortet, ob eine Anwendung im Namen eines Nutzers auf bestimmte Ressourcen zugreifen darf, geht OIDC einen Schritt weiter und klärt, wer dieser Nutzer überhaupt ist. Damit wird OAuth, das ursprünglich allein für Autorisierung gedacht war, zu einer vollständigen Grundlage für eine moderne Anmeldung. OIDC hat sich in den vergangenen Jahren zum De-facto-Standard für Identitätsfragen im Web entwickelt und löst ältere Lösungen wie SAML in vielen neuen Projekten ab.
Abgrenzung zu OAuth
OAuth und OIDC werden oft in einem Atemzug genannt, beantworten aber unterschiedliche Fragen. OAuth dreht sich um die Erteilung von Zugriff, also etwa darum, ob eine Anwendung die E-Mails eines Nutzers lesen darf. OIDC dagegen liefert verifizierte Aussagen über die Identität, also Antworten auf die Frage, welche Person sich gerade angemeldet hat. Während OAuth einen Access Token ausstellt, der gegenüber einer API verwendet wird, ergänzt OIDC einen ID Token, der die Identität in Form eines signierten JSON Web Tokens transportiert. Beide Mechanismen greifen ineinander und werden in der Praxis meist gemeinsam eingesetzt.
Bausteine des Protokolls
OIDC ergänzt OAuth um einige klar definierte Komponenten. Der zentrale Baustein ist der ID Token, ein signiertes JWT mit Informationen wie der eindeutigen Nutzer-ID, dem Namen, der E-Mail-Adresse oder dem Zeitpunkt der Anmeldung. Über den UserInfo-Endpunkt lassen sich darüber hinaus weitere Profilinformationen abrufen, sofern der Nutzer dies bei der Anmeldung freigegeben hat. Welche Daten ein Client erhält, wird über sogenannte Scopes gesteuert, von denen einige standardisiert sind:
- openid als Pflicht-Scope, der den OIDC-Modus überhaupt aktiviert
- profile für Name, Anzeigename und ähnliche Grundinformationen
- email für die E-Mail-Adresse und deren Verifizierungsstatus
Auf diese Weise erhält ein Client genau die Informationen, die er für seinen Anwendungsfall benötigt, ohne ein vollständiges Profil abgreifen zu müssen.
Typische Einsatzbereiche
OIDC kommt überall dort zum Einsatz, wo zentrale Anmeldung und einheitliches Identitätsmanagement gefragt sind. Im Unternehmensumfeld bildet das Protokoll die Grundlage für Single Sign-On, bei dem sich Mitarbeitende einmal anmelden und anschließend auf eine Vielzahl von Anwendungen zugreifen können. Externe Identity Provider wie Keycloak, Microsoft Entra ID, Auth0 oder Okta sprechen OIDC ebenso wie viele Cloud-Plattformen und SaaS-Dienste. Auch Anmeldungen für Endkunden, etwa über Google- oder Apple-Konten, basieren auf OIDC. In großen Organisationen erlaubt das Protokoll außerdem eine saubere Trennung zwischen einem zentralen Benutzer-Management und den einzelnen Fachanwendungen.
Bedeutung für Web-Projekte
Für Web-Projekte ist OIDC der einfachste Weg, eine sichere und gleichzeitig komfortable Anmeldung umzusetzen. Anwendungen müssen weder Passwörter speichern noch eigene Authentifizierungslogik aufwendig absichern. Stattdessen wird die Identitätsfeststellung an einen spezialisierten Anbieter delegiert, der dafür mit allen relevanten Verfahren wie Mehrfaktor-Authentifizierung, Risikobewertung und Compliance umgeht. Gerade in Projekten mit mehreren Anwendungen oder mit Anforderungen an Datenschutz und Nachvollziehbarkeit bietet OIDC eine klare, standardisierte Grundlage, auf der sich Identitäten verlässlich verwalten lassen.