El usuario inicia el login en la aplicación cliente.
Jeder Flow wird als Sequenzdiagramm gezeichnet: die Akteure (Benutzer, Client, Server) sind Spalten und die Nachrichten sind Pfeile über die Zeit. Drücke Play oder ⏭, um Schritt für Schritt durchzugehen.
Ändere client_id, redirect_uri, scope, Anmeldedaten usw. und das Diagramm wird neu erzeugt. Klicke auf einen beliebigen Pfeil, um die echte HTTP-Anfrage und ihre Erklärung zu inspizieren.
Basic (Benutzer:Passwort in Base64), Bearer/JWT, Authorization Code, Code + PKCE (heute empfohlen), Implicit (veraltet), Client Credentials (Maschine-zu-Maschine), Device Code (TVs/CLI) und Refresh Token (erneuern ohne erneuten Login).
Bei jedem Schritt mit HTTP-Anfrage kannst du sie als curl-Befehl kopieren, um sie in deinem Terminal nachzustellen. Enthält der Schritt ein JWT, öffne es im JWT-Decoder, um Header und Payload zu inspizieren.
Aktiviere einen Angriff, um einen Akteur Angreifer und die bösartigen Schritte (in Rot) zu sehen: Abgreifen von Anmeldedaten, alg:none, Abfangen des Codes ohne PKCE, CSRF durch fehlenden state. Aktiviere die Gegenmaßnahme und der Angriff wird neutralisiert (in Grün) und zeigt, warum er scheitert.
Im Tab Vergleichen wählst du auf jeder Seite einen Flow (oder ein vordefiniertes Paar) und beide werden zugleich gezeichnet. Gleichwertige Schritte richten sich in derselben Zeile aus (gleiches /authorize, gleiches /token…), damit der Unterschied ins Auge springt, und eine Zusammenfassung listet auf, welche Parameter und Akteure jeder hinzufügt. Klicke auf einen beliebigen Pfeil, um ihn zu inspizieren.
Der Tab Werkzeuge bündelt praktische OAuth-Utilities, alle im Browser: PKCE-Paare (S256) generieren und prüfen, eine kopierfertige /authorize-URL bauen und eine Callback-URL analysieren (extrahiert code/state oder die Tokens aus dem Fragment und erkennt Fehler).
El usuario inicia el login en la aplicación cliente.