JWT-Decoder
Header, Claims und Ablauf eines JSON Web Token in Ihrem Browser lesen. Nur Dekodierung — es wird keine Signatur geprüft.
Läuft vollständig in Ihrem Browser. Nichts wird hochgeladen, protokolliert oder gespeichert.
Das dekodiert. Es prüft nicht. Nichts hierunter sagt Ihnen, ob das Token echt ist. Wer ein signiertes Token besitzt, kann seine Angaben lesen, und jeder kann ein Token schreiben, das so aussieht wie dieses. Prüfen Sie die Signatur in Ihrer Anwendung, mit Ihrem Schlüssel.
Fügen Sie ein Token ein und sehen Sie seinen Header, seine Claims und seinen Ablauf. Das Dekodieren geschieht in Ihrem Browser: Das Token wird nicht gesendet, nicht protokolliert und nicht gespeichert.
Dieses Tool prüft die Signatur nicht, und nichts, was es Ihnen zeigt, bedeutet, dass das Token echt ist.
Wie es funktioniert
Ein JSON Web Token sind drei mit base64url kodierte Teile, durch Punkte getrennt: ein Header, der sagt, welcher Algorithmus es signiert hat, eine Nutzlast aus Claims und eine Signatur über die ersten beiden. Die ersten beiden sind kodiert, nicht verschlüsselt — wer das Token hat, kann sie lesen, und genau das geschieht hier.
Die registrierten Zeit-Claims werden als lesbare Daten gezeigt: `exp`, wann es ungültig wird, `nbf`, wann es beginnt, `iat`, wann es ausgestellt wurde. Sie werden mit Ihrer Uhr verglichen, um zu sagen, wo das Token in seinem Fenster steht.
Die Signatur wird so gezeigt, wie sie geschrieben steht, und nicht dekodiert. Sie ist eine Signatur über Bytes und nicht über Text, und sie als Zeichen darzustellen würde nahelegen, dass sie etwas sagt.
Beispiele
| Fall | Eingabe | Ergebnis |
|---|---|---|
| Ein Token, das keine Signatur angibt | eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0NTY3ODkwIn0. | alg none, typ JWT, sub 1234567890 |
Häufige Fragen
Warum prüft es die Signatur nicht?
Weil das Prüfen den Signaturschlüssel braucht, und eine Seite, die danach fragt, würde Sie bitten, das Geheimnis, das Ihr System schützt, in eine Website einzufügen. Es gibt noch einen feineren Grund: Ein Decoder, der so aussähe, als prüfe er, würde Sie einladen, einer Nutzlast zu vertrauen, die jeder geschrieben haben könnte. Prüfen Sie in Ihrer Anwendung, mit Ihrem Schlüssel.
Ist ein JWT verschlüsselt?
Nein. Ein signiertes Token ist kodiert, und das ist nicht dasselbe: Wer es hat, kann jeden Claim darin lesen, ohne Schlüssel. Legen Sie nie etwas in ein Token, das der Inhaber nicht sehen soll. Verschlüsselte Tokens gibt es — sie haben fünf Teile statt drei — und dieses Tool kann sie nicht lesen.
Was bedeutet ein Algorithmus von „none“?
Dass das Token überhaupt keine Signatur trägt. Es ist der älteste Angriff gegen JWT: die Signatur abschneiden, `alg` auf `none` setzen und hoffen, dass die empfangende Bibliothek es annimmt. Die Seite markiert ein solches Token; wenn Sie eines sehen, das Sie nicht selbst erstellt haben, behandeln Sie es als feindlich.
Verlässt mein Token den Browser?
Nein. Das Dekodieren läuft lokal in JavaScript, und es gibt für dieses Tool keinen Teilen-Link, denn ein Link würde das Token in eine URL legen — wo es im Browserverlauf und in Serverprotokollen landen würde.
Gut zu wissen
- Nur Dekodierung. Es wird keine Signatur geprüft, und nichts auf dieser Seite sagt, ob ein Token echt ist.
- Das Token wird in Ihrem Browser dekodiert und nie gesendet, protokolliert oder gespeichert. Das Tool braucht JavaScript; ohne es gibt es gar keine Dekodierung.
- Ein signiertes Token ist für jeden lesbar, der es hat. Behandeln Sie jeden Claim darin als öffentlich.