Was ist OAuth?

Mechanismus, mit dem Nutzer einer anderen Anwendung (dem Client) begrenzten Zugriff auf ihre Ressourcen erlauben, ohne ihr Passwort herauszugeben (delegierte Autorisierung). Weit verbreitet ist OAuth 2.0. Es gibt vier Rollen: den Ressourcenbesitzer (den Nutzer), den Client, den Autorisierungsserver, der die Zustimmung des Nutzers einholt und Access-Tokens ausstellt, und den Ressourcenserver, der Tokens prüft und Ressourcen liefert. OAuth selbst ist ein Autorisierungsmechanismus; für die Anmeldung (Authentifizierung) verwendet man OpenID Connect, das ID-Tokens ergänzt.

Japanische Bezeichnung: OAuth

„OAuth“ kommt in 2 Übungsfragen aus 1 Themen vor, z. B. Grundlagen der Webtechnologien.

Fachgebiet: Grundlagen der Webtechnologien

Jetzt üben: Fragen zu OAuth

Eine Fotodruck-App liest mit Erlaubnis des Nutzers dessen Fotos aus dem Fotospeicherdienst eines anderen Unternehmens. Welche Rolle zeigt bei OAuth (Version 2.0) dem Nutzer einen Bildschirm an, der um seine Erlaubnis bittet, und stellt der App ein Access-Token aus, wenn der Nutzer zustimmt?

  1. ARessourcenserver
  2. BAutorisierungsserver
  3. CClient
Antwort und Erläuterung anzeigen

Antwort: B. Autorisierungsserver

OAuth kennt in der Version 2.0 vier Rollen: den Ressourcenbesitzer (den Nutzer), den Client (die Fotodruck-App), den Autorisierungsserver und den Ressourcenserver (die API, die die Fotos liefert). Der Autorisierungsserver prüft, wer der Nutzer ist, und holt seine Zustimmung ein; dann stellt er dem Client ein Access-Token aus, das in Umfang (Scope) und Gültigkeitsdauer beschränkt ist. Der Client ruft mit dem Token die API des Ressourcenservers auf, und der Ressourcenserver prüft das Token und liefert die Fotos. Der Nutzer muss der App das Passwort des Fotospeicherdienstes nicht geben und kann die Erlaubnis später auch widerrufen.

Welche Aussage über die Beziehung zwischen OAuth (Version 2.0) und OpenID Connect ist richtig?

  1. AOAuth ist ein Mechanismus, um die Erlaubnis zum Zugriff auf Ressourcen (Autorisierung) zu delegieren; OpenID Connect baut darauf auf und fügt ein ID-Token hinzu, das das Ergebnis der Authentifizierung übermittelt, sodass es sich für die Anmeldung verwenden lässt
  2. BOAuth ist ein Mechanismus, um das Ergebnis der Authentifizierung eines Nutzers zu übermitteln; OpenID Connect verwendet es nicht, sondern sendet das Passwort des Nutzers zur Prüfung direkt an jeden angebundenen Dienst
  3. COpenID Connect ist ein Protokoll zur Verschlüsselung der HTTP-Kommunikation und wird beim Senden von Anmeldeseiten anstelle von TLS verwendet
Antwort und Erläuterung anzeigen

Antwort: A. OAuth ist ein Mechanismus, um die Erlaubnis zum Zugriff auf Ressourcen (Autorisierung) zu delegieren; OpenID Connect baut darauf auf und fügt ein ID-Token hinzu, das das Ergebnis der Authentifizierung übermittelt, sodass es sich für die Anmeldung verwenden lässt

Ein Access-Token von OAuth steht für eine Erlaubnis im Sinne von „Ressourcen in diesem Umfang dürfen verwendet werden“ und ist nicht dafür gedacht, festzustellen, wer sich angemeldet hat. OpenID Connect ergänzt den Ablauf von OAuth um ein ID-Token in Form eines signierten JWT. Das ID-Token enthält den Aussteller, die Kennung des Nutzers, den vorgesehenen Client, die Ablaufzeit und weiteres; der Client prüft Signatur und Inhalt und erfährt so, wer der Nutzer ist. Dieser Mechanismus wird für die Anmeldung mit dem Konto eines anderen Dienstes und für Single Sign-on verwendet.

„OAuth“ in den Erläuterungen

Fragen mit „OAuth“ (2)

  1. Eine Fotodruck-App liest mit Erlaubnis des Nutzers dessen Fotos aus dem Fotospeicherdienst eines anderen Unternehmens. Welche Rolle zeigt bei OAuth (Version 2.0) dem Nutzer einen Bildschirm an, der um seine Erlaubnis bittet, und stellt der App ein Access-Token aus, wenn der Nutzer zustimmt?
  2. Welche Aussage über die Beziehung zwischen OAuth (Version 2.0) und OpenID Connect ist richtig?

Verwandte Begriffe

JWT (JSON Web Token) Cookie (HTTP-Cookie) CORS (Cross-Origin Resource Sharing) DOM (Document Object Model) Event Loop HTTP (Hypertext Transfer Protocol) HTTP-Methode HTTP-Statuscode JSON (JavaScript Object Notation) REST-API

Zur Glossarübersicht