So funktioniert OAuth · Mindmaps
So funktioniert OAuth. Eine bearbeitbare Mindmap mit farbigen Zweigen, Unterthemen und Verbindungen. Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
OAuth lässt eine Anwendung im Namen eines Nutzers auf die Daten eines anderen Dienstes zugreifen, ohne dessen Passwort je zu sehen, indem sie Einwilligung gegen ein kurzlebiges Token tauscht.
So funktioniert OAuth · Mindmaps
Die interaktive MindMap-Zeichenfläche zu dieser Erklärung — jede Bahn, jede Zeile und jeder Pfeil oben gehört zu einem echten QueryChart-Diagramm, das Sie öffnen und bearbeiten können.
So lesen Sie diese Mindmap
- Beginnen Sie beim Thema in der Mitte und folgen Sie einem farbigen Zweig zu den zugehörigen Ideen.
- Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
User consent
Dieser Zweig verbindet “User clicks “Sign in with provider””, “The consent screen is the step most real flows hide: the user chooses exactly which permissions the app may use, such as “read profile” but not “post”.”.
Redirect & code
Dieser Zweig verbindet “The redirect carries the client id, the requested scopes and a redirect URI. The user never hands their password to the client application.”, “Authorization server returns an authorization code to the client”.
Token exchange
Dieser Zweig verbindet “The code is short-lived and useless by itself. The exchange proves the client is who it claims to be by presenting its registered client secret.”, “Authorization server issues the access token”.
Resource access
Dieser Zweig verbindet “Access tokens expire after a short window. Long-lived sessions use a separate refresh token that can mint new access tokens without asking the user again.”, “Resource server validates the token and returns the user's data”, “User sees their data inside the app”.
Verbindungen zwischen den Zweigen
Das Passwort des Nutzers erhält nur der Autorisierungsserver: Client und Ressourcenserver sehen es nie.
Die Einwilligung, also die Scopes, ist die eigentliche Erlaubnis; das Access Token ist diese Erlaubnis in maschinenlesbarer Form.
Der Autorisierungscode ist kurzlebig und ohne das Client Secret nutzlos: zwei Faktoren schützen den Tausch.
Access Token laufen ab; Refresh Token stellen im Stillen neue aus, ohne einen weiteren Einwilligungsdialog.
Die einzige Aufgabe des Ressourcenservers ist es, das Token zu prüfen, und das hält die Parteien entkoppelt.
Wichtige Zusammenhänge und Erkenntnisse
- Das Passwort des Nutzers erhält nur der Autorisierungsserver: Client und Ressourcenserver sehen es nie.
- Die Einwilligung, also die Scopes, ist die eigentliche Erlaubnis; das Access Token ist diese Erlaubnis in maschinenlesbarer Form.
- Der Autorisierungscode ist kurzlebig und ohne das Client Secret nutzlos: zwei Faktoren schützen den Tausch.
- Access Token laufen ab; Refresh Token stellen im Stillen neue aus, ohne einen weiteren Einwilligungsdialog.
- Die einzige Aufgabe des Ressourcenservers ist es, das Token zu prüfen, und das hält die Parteien entkoppelt.
Wann Sie diese Darstellung nutzen
- Einem Produktteam erklären, warum „Mit Google anmelden“ sicher ist und worum der Einwilligungsdialog bittet.
- Einen OAuth-Flow wählen: den Authorization-Code-Flow hier gegenüber Implicit oder Client Credentials für andere Szenarien.
- Prüfen, wo Zugangsdaten und Token in Ihrer Integration tatsächlich unterwegs sind.
So funktioniert es
Mittleres Thema anpassen
Benennen Sie das Thema für Ihr Projekt oder Ihren Unterricht um.
Zweige ausbauen
Bearbeiten Sie Ideen und ergänzen Sie Beispiele oder Notizen.
Ideen verbinden
Zeichnen Sie Verbindungen zwischen Zweigen; Pfeile zeigen eine wichtige Richtung an.
Häufig gestellte Fragen
Was ist OAuth, und warum gibt es das?
OAuth ist ein Standard für Delegation. Er lässt eine Anwendung im Namen eines Nutzers auf dessen Daten bei einem anderen Dienst zugreifen, ohne dass die Anwendung je das Passwort des Nutzers sieht. Der Nutzer authentifiziert sich einmal am Autorisierungsserver und genehmigt bestimmte Berechtigungen (Scopes); die App erhält ein Token, das sie einlösen kann. Genau diese Trennung der Zuständigkeiten stellen die vier Bahnengruppen in der Darstellung dar.
Was ist der Unterschied zwischen einem Autorisierungscode und einem Access Token?
Ein Autorisierungscode ist ein kurzlebiger Zwischenwert, den der Client nach der Einwilligung des Nutzers erhält; für sich allein gewährt er nichts. Der Client tauscht den Code (zusammen mit seinem registrierten Client Secret) gegen ein Access Token, und das ist die eigentliche Berechtigung, mit der er den Ressourcenserver aufruft. Erst der zweistufige Tausch lässt den Client seine Identität am Token-Endpunkt nachweisen.
Warum gibt der Nutzer sein Passwort nicht an die App?
Weil die App nur begrenzten, widerrufbaren Zugriff braucht: ein Profil lesen, nicht ein Konto besitzen. Bekäme die App das Passwort, hätte sie für immer vollen Zugriff, und der Nutzer könnte einer einzelnen App den Zugriff nicht entziehen, ohne sein Passwort überall zu ändern. OAuth tauscht ein Passwort gegen ein begrenztes, ablaufendes Token, das der Nutzer unabhängig widerrufen kann.
Was sind Scopes?
Scopes sind die konkreten Berechtigungen, die der Nutzer erteilt, etwa „E-Mail lesen“ oder „in den Kalender schreiben“. Sie erscheinen im Einwilligungsdialog und werden in das Access Token codiert. Der Ressourcenserver setzt sie durch, sodass ein Token mit Lese-Scope nicht schreiben kann: das geringste Privileg steckt im Protokoll und hängt nicht am Wohlverhalten des Clients.
Diese Mindmap in QueryChart bearbeiten
Öffnen Sie die Mindmap auf einer bearbeitbaren Leinwand. Verschieben Sie Ideen und ergänzen Sie Zweige und Verbindungen.