c't 8/2020
S. 130
Wissen
OAuth 2.0
Bild: Thorsten Hübner

Sicher autorisieren

Wie man OAuth 2.0 richtig verwendet

Der offene Autorisierungsstandard OAuth erlaubt es, eigentlich private Daten aus Spielen, Apps und sozialen Netzwerken sicher mit anderen Onlinediensten zu teilen, ohne dass man sein Passwort verraten muss. Mit dem Online-Banking kommt gerade eine weitere Anwendung hinzu – und damit viele neue Herausforderungen.

Von Daniel Fett

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.

Ein Standard für Autorisierung

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.

Kommentare lesen (2 Beiträge)