OAuth 2.0 und OIDC sind die Grundlagen moderner Authentifizierung. Verstehen Sie sie einmal, nutzen Sie sie ueberall.
OAuth 2.0 vs OIDC¶
- OAuth 2.0 – Autorisierung (Zugriff auf Ressourcen)
- OIDC – Authentifizierung (Benutzeridentitaet) = Schicht ueber OAuth 2.0
Tokens¶
- Access Token – kurzlebig, fuer API-Zugriff
- Refresh Token – langlebig, zur Erneuerung des Access Tokens
- ID Token – JWT mit Benutzerinfo (OIDC)
Authorization Code Flow (empfohlen)¶
- Benutzer klickt auf “Login with Google”
- Weiterleitung zu Google Auth
- Benutzer meldet sich an, erteilt Zustimmung
- Google leitet zurueck mit Authorization Code
- Backend tauscht Code gegen Tokens
- Backend gibt Session/JWT zurueck
PKCE (fuer SPA und Mobile)¶
Authorization Code Flow + Proof Key for Code Exchange. Schuetzt gegen Code-Interception-Angriffe. Pflicht fuer Public Clients.
JWT¶
// Header
{ “alg”: “RS256”, “typ”: “JWT” }
// Payload
{ “sub”: “user123”, “email”: “[email protected]”, “exp”: 1707900000 }
// Signature
RSASHA256(header + payload, private_key)
Best Practices¶
- Access Token kurz (5-15 Minuten)
- Refresh Token rotieren
- PKCE immer fuer SPA/Mobile
- Tokens auf dem Server validieren
- Tokens nicht im localStorage speichern (XSS)
- httpOnly Cookies fuer Web verwenden
Empfehlung¶
Implementieren Sie OAuth/OIDC nicht selbst. Verwenden Sie Auth0, Clerk, Keycloak oder next-auth.