Wie man OAuth 2.0 richtig verwendet

Der offene Autorisierungsstandard erlaubt es, private Daten aus Spielen, Apps und sozialen Netzwerken sicher mit anderen Online-Diensten zu teilen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 18 Kommentare lesen
Wie man OAuth 2.0 richtig verwendet

(Bild: Thorsten Hübner)

Lesezeit: 15 Min.
Von
  • Daniel Fett
Inhaltsverzeichnis

Wer einen Webdienst oder eine App eines Drittanbieters für Twitter einsetzt, kennt das Problem: Der Twitter-Client soll Zugriff auf das Twitter-Konto bekommen, um Posts lesen und veröffentlichen zu können. Das eigene Passwort und vielleicht sogar einen zweiten Faktor wie ein Hardware-Token möchte man dem Client aber nicht geben: Damit hätte er die Generalvollmacht und könnte den Account komplett übernehmen oder löschen. Für einen feingranularen, kontrollierten Zugriff gibt es OAuth: Hierbei benutzt der Client nicht das Passwort des Benutzers, sondern ein geheimes Token, das nur für ihn ausgestellt wird. Der Nutzer kontrolliert, welche Rechte der Client bekommt und welche nicht. So kann der Benutzer etwa festlegen, dass der Client Posts erstellen und verwalten, aber keine Kontoeinstellungen bearbeiten kann. Diese Rechte kann er dem Client auch jederzeit entziehen, ohne sein Passwort zu ändern, indem er das Token für ungültig erklärt.

Damit dieser Vorgang zwischen verschiedensten Diensten ablaufen kann, hat die Standardisierungsgruppe Internet Engineering Task Force (IETF) 2012 das OAuth-2.0-Framework im Request for Comments (RFC) 6749 definiert. OAuth beschreibt einen Mechanismus für die Autorisierung von Zugriffen. Für Anwendungsfälle, in denen auch die Identität des Benutzers überprüft werden soll, gibt es OpenID Connect, das auf OAuth 2.0 aufbaut. Funktionen wie "Mit Google einloggen" oder "Mit Apple anmelden" werden auf diese Weise durchgeführt.

OAuth 2.0 hat den wesentlich anders aufgebauten Vorgänger OAuth 1.0 fast vollständig verdrängt – die folgenden Ausführungen beziehen sich daher auch nur auf den neueren Standard. Unzählige Plattformen sichern ihre Webschnittstellen für Apps von Drittanbietern mittels OAuth ab – beispielsweise Google, Facebook, Microsoft, GitHub, Twitch, Discord, Slack und wie eingangs erwähnt Twitter.