OpenID Connect (OIDC) ist eine Identitätsschicht, die auf OAuth 2.0 aufbaut. Während OAuth nur die Frage „Was darf die Anwendung tun?“ beantwortet, beantwortet OIDC zusätzlich „Wer ist der Nutzer?“. Der Autorisierungsserver stellt dabei neben dem Access Token ein ID Token aus — ein signiertes JWT mit standardisierten Claims wie sub (eindeutige Nutzer-ID), iss (Aussteller), aud (Zielgruppe) und exp (Ablaufzeit). OIDC wurde 2014 als Standard veröffentlicht und ist die Basis für „Mit Google anmelden“ und „Mit Apple anmelden“. Es ist der Nachfolger des älteren OpenID-Protokolls (OpenID 2.0, 2007), das auf URL-basierten Identitäten aufbaute.

Endpunkte und Discovery

OIDC definiert standardisierte Endpunkte: den Autorisierungs-Endpunkt (Redirect des Nutzers), den Token-Endpunkt (Austausch gegen Tokens) und den Userinfo-Endpunkt (Abruf weiterer Profilangaben). Die Konfiguration liegt zentral im Discovery-Dokument unter der bekannten Adresse /.well-known/openid-configuration — darin stehen alle Endpunkte, unterstützte Verfahren und der öffentliche Schlüssel zur Signaturprüfung. Client-Anwendungen registrieren sich mit einer Client-ID und einem Secret beziehungsweise per PKCE bei öffentlichen Clients.

Authorization Code Flow

Der Standard-Ablauf für Web- und Mobile-Apps ist der Authorization Code Flow: (1) Die App leitet den Nutzer zum Autorisierungs-Endpunkt, (2) der Nutzer meldet sich beim Identity Provider an und gibt die Zustimmung, (3) der Provider liefert einen Einmal-Code an die App zurück, (4) die App tauscht den Code am Token-Endpunkt gegen ID Token und Access Token. Die App prüft die Signatur des ID Tokens und liest daraus die Identität des Nutzers. Damit erlaubt OIDC Single Sign-On über viele Anwendungen hinweg — ähnlich wie SAML, aber mit modernen JSON- statt XML-Dokumenten.

OIDC, SAML und Passkeys

OIDC und SAML lösen dasselbe Problem (föderierte Anmeldung), unterscheiden sich aber in der Technik: SAML nutzt XML-Assertions und ist im Enterprise-Umfeld weit verbreitet, OIDC ist leichtgewichtiger und im Web sowie bei Mobile-Apps der De-facto-Standard. Während Passkeys die Frage der Authentifizierung des Nutzers am Gerät lösen, übernimmt OIDC die Weitergabe der Identität an Anwendungen — beide ergänzen sich.

Verwandte Grundlagen: OAuth, JWT, SAML, Single Sign-On, Passkey, Session, HTTP.