Zum Hauptinhalt springen
Bild
lila Hexagonmuster

Was sind OAuth-Token?

OAuth-Token autorisieren den Zugriff eines Benutzers auf Ressourcen. Mit anderen Worten, sie dienen nicht der Authentifizierung von Benutzern, sondern werden vom Dienstanbieter verwendet, um im Namen des Benutzers den Zugang zu anderen Ressourcen zu genehmigen.

Eine OAuth-Transaktion findet statt, wenn ein Benutzer unter Verwendung der Identität seines Dienstanbieters die Genehmigung einer anderen Ressource anfordert. Die Ressource bittet den Dienstanbieter um eine Erlaubnis, die in Form eines Anfrage-Tokens und eines geheimen Werts (Geheimnisses) erteilt wird. Anschließend leitet die Ressource den Benutzer an seinen Dienstanbieter weiter, um die Anfrage zu authentifizieren. An diesem Punkt tauscht die Ressource das Anfrage-Token gegen ein Zugriffs-Token und ein Geheimnis aus. Wenn die beiden Token das gleiche Geheimnis haben, ist der OAuth-Prozess abgeschlossen, und der Benutzer hat den Zugriff auf die Ressource erfolgreich an den Dienstanbieter delegiert.

Der OAuth-Prozess

Schritt 1

Zugriff anfordern

Anne stellt auf YouTube (Ressource) eine Anfrage, um Videos direkt in ihrem Twitter-Feed zu veröffentlichen (Dienstanbieter). YouTube bittet dann Twitter um die Erlaubnis zum Zugriff.

Grafik einer Frau, die an einem Schreibtisch sitzt

Schritt 2

Antrag auf Token und Austausch des Geheimnisses

Twitter stellt YouTube ein Anfrage-Token und ein Geheimnis zur Verfügung.

Grafik eines Schlüssels und eines Webbrowsers

Schritt 3

Authentifizierung

YouTube leitet Anne zum Anmelden zu Twitter weiter. Anne gibt ihre Anmeldedaten bei Twitter ein und bestätigt, dass die Anfrage von YouTube durch den Nutzer initiiert wurde.

Grafik einer Person, die einen Laptop benutzt

Schritt 4

Austausch von Zugangstoken

Sobald die Anfrage vom Nutzer authentifiziert wurde, bittet YouTube Twitter, das Anfrage-Token und das Geheimnis gegen ein Zugriffs-Token auszutauschen. Wenn die mit den Token verbundenen Geheimnisse übereinstimmen, stellt Twitter YouTube das Zugriffstoken zur Verfügung und gewährt YouTube Zugang.

Grafik eines Schlüssels und eines Webbrowsers

Schritt 5

Zugang gewährt

Anne kann jetzt YouTube sicher nutzen, um Videos direkt in ihrem Twitter-Feed zu veröffentlichen.

Grafik einer Frau, die an einem Schreibtisch sitzt

Das obige Beispiel fasst einen allgemeinen OAuth-Prozess zusammen. OAuth ermöglicht auch eine detailliertere Kontrolle und Berechtigung, z. B. das Recht, Token zu widerrufen, wann immer der Nutzer dies wünscht, und die Festlegung verschiedener Zugriffsebenen für Dienstanbieter für verschiedene Ressourcen.

OAuth 1.0 im Vergleich zu OAuth 2.0

Im Jahr 2012 wurde OAuth 2.0 als grundlegende Überarbeitung von OAuth 1.0 eingeführt. Die an dieser Version von OAuth vorgenommenen Änderungen waren so bedeutend, dass die Versionen 2.0 und 1.0 nicht kompatibel sind. OAuth 2.0 wurde entwickelt, um eine Sicherheitslücke bei der Session-Fixation im OAuth-Autorisierungsablauf zu schließen.

Obwohl dieses Problem mit OAuth 2.0 behoben wurde, definiert oder unterstützt die neue Version absichtlich keine Verschlüsselung, Signatur, Client-Verifizierung oder Kanalbindung, sondern verlangt von den Implementierern die Verwendung eines anderen Sicherheitsprotokolls wie HTTPS/TLS für diesen Zweck.

Die Unterschiede zwischen OAuth 1.0 und 2.0 sind im Folgenden zusammengefasst:

Vergleichsdiagramm OAuth 1.0 und OAuth 2.0

OAuth im Vergleich zu SAML – was ist der Unterschied?

SAML ist eine XML-Sprachvariante, die ein Modell beschreibt, das es einem Gerät ermöglicht, sowohl die Authentifizierung als auch die Autorisierung im Namen eines oder mehrerer Geräte durchzuführen.

Als „leichtgewichtige“ Optionen für die Kodierung von Daten aufkamen, wie z. B. JSON, setzte sich OAuth durch, um Benutzer von Mobilgeräten zu unterstützen. Obwohl OAuth ein neueres Protokoll ist, das aus der Notwendigkeit heraus entstanden ist, SAML zu ersetzen, sind beide Protokolle für ein sicheres Single Sign-On (SSO) entscheidend.

Mit anderen Worten: OAuth ist keine Alternative zu SAML, sondern die beiden Protokolle können sich gegenseitig ergänzen. In einer SSO-Umgebung kann SAML beispielsweise für die Authentifizierung (Bestätigung, dass der Benutzer authentisch ist und Zugang erhalten soll) und OAuth für die Autorisierung (Gewährung des Zugangs zu bestimmten geschützten Ressourcen) zuständig sein.