EMZETT.
Login

OpenID Connect (OIDC)

Kurz: OpenID Connect ist eine Schicht auf OAuth, die beantwortet: Wer ist der Nutzer? OAuth regelt nur den Zugriff auf Daten, OIDC liefert zusätzlich die Anmeldung.

Das Problem

Mit „Mit Google anmelden” soll deine Seite wissen, wer sich anmeldet, ohne ein Passwort zu sehen. OAuth allein gibt nur ein Zugriffs-Token, keine geprüfte Identität.

Was OIDC dazu bringt

  • Das ID-Token: ein JWT (JSON Web Token) mit Angaben wie sub (feste Nutzer-ID), iss (Aussteller), aud (für wen), exp (Ablauf) und oft E-Mail und Name.
  • Der Anbieter signiert es (Digitale Signatur); die Seite prüft die Signatur mit dessen öffentlichem Schlüssel.
  • Standard-Bereiche (openid, profile, email) und ein Userinfo-Endpunkt für weitere Daten.

Ablauf (Code-Flow mit PKCE)

  1. Die Seite leitet zum Anbieter, mit scope=openid, einem zufälligen state und einem PKCE-Prüfwert.
  2. Der Nutzer meldet sich dort an (gern mit MFA oder Passkeys).
  3. Der Anbieter schickt einen Code zurück.
  4. Der Server tauscht den Code gegen ID- und Zugriffs-Token.
  5. Der Server prüft Signatur, iss, aud, exp und nonce und legt die Sitzung an.

Typische Fehler

  • Token im Browser statt auf dem Server prüfen.
  • aud oder iss nicht kontrollieren.
  • Nutzer über die E-Mail statt über sub zuordnen (E-Mails können sich ändern).
  • state weglassen (CSRF-Gefahr).

Weiterführend: SSO.