Du nimmst ein JWT aus einem Request-Header oder einer Log-Datei. Es ist ein langer, durch Punkte getrennter String, der für das menschliche Auge nichts bedeutet. Du musst den Ablauf-Claim prüfen, den Aussteller verifizieren oder sehen, welche Scopes eingebettet sind. Also öffnest du jwt.io, fügst das Token ein und liest den dekodierten Payload im rechten Bereich.
Dieser Workflow hat ein Problem: Du hast gerade ein gültiges Authentifizierungs-Token über das Netzwerk an eine Website geschickt, die du nicht kontrollierst. JWT-Payloads enthalten oft Benutzer-IDs, E-Mail-Adressen, Rollen und Berechtigungen. Das Token selbst ist möglicherweise noch gültig. Selbst wenn jwt.io vertrauenswürdig ist — die Sicherheitsrichtlinien deines Unternehmens sehen das vielleicht anders.
Was ein JWT tatsächlich enthält
Ein JSON Web Token besteht aus drei Teilen, die durch Punkte getrennt sind: einem Header (Algorithmus und Typ), einem Payload (die Claims — Ablauf, Aussteller, Subjekt, benutzerdefinierte Daten) und einer Signatur. Header und Payload sind einfach Base64url-kodiertes JSON. Du brauchst keinen Server und keine spezielle Bibliothek, um sie zu lesen — du brauchst einen Base64-Decoder und einen JSON-Formatierer. Aber das jedes Mal manuell im Terminal zu machen, ist mühsam.
JWTs lokal auf deinem Mac dekodieren
Bellows enthält einen dedizierten JWT-Decoder, der das Token in seine drei Teile aufspaltet und den dekodierten Header und Payload als formatiertes JSON anzeigt. Füge das Token ein und sieh die Claims. Keine Netzwerkanfrage, kein Drittanbieter-Server, kein Risiko, ein gültiges Token zu leaken.
Zwischenablage-fähig
Kopiere ein JWT aus den Entwickler-Tools deines Browsers, einer Log-Datei oder einer Slack-Nachricht. Öffne Bellows und die App erkennt das Token-Format in deiner Zwischenablage und schlägt sofort den JWT-Decoder vor. Der dekodierte Payload erscheint in einem Schritt.
Ablauf auf einen Blick prüfen
Der häufigste Grund, ein JWT zu dekodieren, ist die Prüfung, ob es abgelaufen ist. Der exp-Claim ist ein Unix-Zeitstempel — leicht für Maschinen, nichtssagend für Menschen. Den dekodierten Payload zu sehen, ermöglicht es dir, den Ablauf schnell zusammen mit anderen Claims wie iss, sub und aud zu lesen, ohne Zeitstempel im Kopf umzurechnen.
Teil eines größeren Werkzeugkastens
JWT-Dekodierung führt oft zu verwandten Aufgaben: einen Base64-Wert innerhalb eines Claims dekodieren, einen String hashen, um ihn mit einem Fingerabdruck zu vergleichen, oder eine Redirect-URI dekodieren, die im Payload gespeichert ist. Mit 41 Tools in derselben App erfordern diese Folgeaufgaben keinen Wechsel zu einem anderen Programm.