OAuth
OAuth 2.0 ist ein Autorisierungsframework, das Drittanbieter-Apps mit Zustimmung des Benutzers per Token auf dessen Ressourcen zugreifen lässt, ohne Passwörter zu teilen.
Zweck
Es implementiert delegierte Autorisierung: Eine Anwendung kann auf Benutzerressourcen eines anderen Dienstes zugreifen, ohne das Passwort je zu sehen.
Mechanismus
Ablauf: Der Client fordert Autorisierung beim Autorisierungsserver an → der Benutzer erteilt sie → der Client erhält einen Autorisierungscode → tauscht ihn gegen ein access_token → nutzt das Token beim Ressourcenserver. Grant-Typen: authorization_code, implicit, password, client_credentials und refresh_token.
Anwendungsfälle
- Third-Party-Login (Google)
- Autorisierter API-Zugriff
- dienstübergreifendes SSO
- Mobile Autorisierung
Beispiele
- Eingabe
authorization code → access_tokenOutputCall the API with the tokenThe authorization code flow
Häufige Fehler
- The implicit flow exposes the token to the browser
- Use authorization_code with PKCE
Verwandte Begriffe
OpenID Connect
OpenID Connect (OIDC) ist eine Identitätsschicht über OAuth 2.0, die Benutzerauthentifizierung und Identitätsinformationen bereitstellt; es ist der De-facto-Standard für SSO. GLOSSAR
JWT
JWT (JSON Web Token) ist ein kompakter, in sich geschlossener Token, der Claims sicher als JSON-Objekt übermittelt; weit verbreitet für zustandslose Authentifizierung und Informationsaustausch. GLOSSAR
Bearer Token
Ein Bearer-Token ist ein Tokentyp, der rein über den Besitz funktioniert: Er wird im Header Authorization: Bearer <token> gesendet, sodass jeder, der ihn besitzt, ihn verwenden kann — ohne zusätzliche Zugangsdaten. GLOSSAR
Cookie
Ein Cookie ist ein vom Server gesetztes und vom Browser gespeichertes Schlüssel-Wert-Paar, das automatisch mit Same-Origin-Requests für Sitzungs- und Zustandsverwaltung gesendet wird. GLOSSAR