Übersicht über OAuth

OAuth (Open Authorization) ist ein Authentifizierungsprotokoll, mit dem Benutzer einer Website oder Anwendung einer anderen Website oder Anwendung eingeschränkten Zugriff auf ihre Ressourcen gewähren können, ohne ihre tatsächlichen Anmeldeinformationen preiszugeben.

OAuth fungiert wie ein vertrauenswürdiger Mittelsmann, mit dessen Hilfe Sie einem Dienst die Erlaubnis erteilen können, über einen anderen Dienst auf Ihre Daten zuzugreifen, ohne Ihren Benutzernamen und Ihr Passwort bekannt zu geben. In diesem Abschnitt erhalten Sie eine technische Erklärung des OAuth-Workflows und einen bildhaften Vergleich zur Erläuterung von OAuth.

Der OAuth-Workflow

OAuth bietet Benutzern eine sichere, standardisierte Möglichkeit, über verschiedene Websites und Anwendungen Zugriff auf ihre Daten zu gewähren, ohne ihre Anmeldeinformationen weitergeben zu müssen. Durch diese Technologie erhalten Sie Kontrolle darüber, welche Dienste auf Ihre Daten zugreifen dürfen, und ermöglicht Ihnen, den Zugriff jederzeit zu widerrufen.

Im Folgenden wird Schritt für Schritt erklärt, wie OAuth funktioniert.

Sie (der Benutzer) möchten eine Website oder Anwendung (den sogenannten "Client") nutzen, die Zugriff auf Ihre Daten benötigt, die sich auf einer anderen Website oder Anwendung befinden (dem sogenannten "Ressourcenserver").

Der Client ersucht den Ressourcenserver um Erlaubnis, auf Ihre Daten zugreifen zu können. Dabei werden Sie normalerweise zur Anmeldeseite des Ressourcenservers weitergeleitet.

Sie geben Ihre Anmeldeinformationen direkt auf der Anmeldeseite des Ressourcenservers ein. Dieser Schritt ist von entscheidender Bedeutung, da Ihr Benutzername und Ihr Passwort niemals an den Client weitergegeben werden.

Der Ressourcenserver überprüft Ihre Anmeldeinformationen und authentifiziert Sie. Nach der Authentifizierung wird ein eindeutiges Zugriffstoken für den Client generiert.

Der Ressourcenserver leitet Sie weiter zur Clientanwendung und stellt gleichzeitig das Zugriffstoken bereit.

Der Client empfängt das Zugriffstoken und sendet es, immer wenn er auf Ihre Daten zugreifen muss, an den Ressourcenserver.

Der Ressourcenserver prüft die Gültigkeit des Zugriffstokens. Wenn das Token gültig ist, gewährt es dem Client für einen begrenzten Zeitraum Zugriff auf die angeforderten Ressourcen.

Der Client kann den gewährten Zugriff nutzen, um Ihre Daten auf dem Ressourcenserver abzurufen oder zu ändern, jedoch nur innerhalb des durch das Zugriffstoken definierten Umfangs. Der Umfang bestimmt, auf welche Aktionen und Daten der Client zugreifen darf.

Wenn das Zugriffstoken abläuft oder der Client zusätzliche Berechtigungen benötigt, kann der Client ein neues Zugriffstoken anfordern, indem er den Authentifizierungsprozess erneut durchläuft.

Bildhafter Vergleich von OAuth

Im Folgenden finden Sie ein Beispiel dafür, wie OAuth in der Praxis funktioniert.

Stellen Sie sich vor, Sie veranstalten eine Party und möchten einen Caterer (den Client) beauftragen, sich um das Essen zu kümmern. Allerdings möchten Sie dem Caterer nicht die Schlüssel zu Ihrem Haus (Ihre Anmeldeinformationen) geben, da er sonst Zugang zu all Ihren persönlichen Wertgegenständen hätte. Sie verwenden also einen vertrauenswürdigen Partyveranstalter (OAuth), um den Zugang zu verwalten.

Sie sagen dem Partyveranstalter, dass Sie einen Caterer engagieren möchten. Der Partyveranstalter weiß, wie er der Zugang zu Ihrem Haus und die Dienstleistungen des Caterers funktionieren.

Der Partyveranstalter kontaktiert den Caterer und schickt ihn zu einem Treffen zu Ihnen nach Hause. Sie sind zu diesem Zeitpunkt nicht zu Hause.

Der Caterer kommt bei Ihnen zu Hause an, stellt jedoch fest, dass er ohne Ihre Erlaubnis (Zugangstoken) keinen Zutritt hat. Er ruft Sie an und bittet um Zugang.

Als Hausbesitzer möchten Sie die Glaubwürdigkeit des Caterers überprüfen, bevor Sie ihm Zutritt gewähren. Sie stellen dem Caterer also einige Fragen, um seine Identität zu prüfen (Authentifizierung).

Wenn Sie mit den Anmeldeinformationen des Caterers zufrieden sind, geben Sie ihm per Telefon einen temporären Zugangscode (Zugriffstoken). Dieser Code erlaubt ihm, Ihr Haus zu betreten und das Essen vorzubereiten, jedoch nur im Rahmen seiner Catering-Aufgaben.

Mit dem Zugangscode betritt der Caterer Ihr Haus und beginnt mit dem Anrichten des Essens. Er hat Zugang zur Küche und zum Essbereich, darf jedoch keine anderen Räume betreten.

Nach einer bestimmten Zeit oder am Ende der Party erlischt der Zugangscode und stellt so sicher, dass der Caterer Ihr Haus nicht ohne Ihre Erlaubnis erneut betreten kann.

In diesem Szenario sind Sie (der Hausbesitzer) der Benutzer, der Caterer ist der Client, Ihr Haus stellt Ihre persönlichen Daten auf dem Ressourcenserver dar und der Partyorganisator ist OAuth.

Der Zugangscode ist das Zugangstoken und ermöglicht dem Client (Caterer) eingeschränkten Zugang zu Ihren Ressourcen (Haus), ohne Ihre Anmeldeinformationen (Hausschlüssel) zu missbrauchen.

OAuth fungiert als vertrauenswürdiger Vermittler, der den sicheren Austausch Ihrer Daten zwischen Diensten erleichtert und gleichzeitig die Kontrolle über die Zugriffsberechtigungen behält.

Vielen Dank für Ihr Feedback!