So verwenden Sie es
- Fügen Sie das Token in JWT ein. Es hat drei Teile, durch Punkte getrennt.
- Lesen Sie Signaturalgorithmus ab, um zu sehen, wie das Token seine Signatur angibt.
- Prüfen Sie Ablauf. Grün bedeutet, dass das Token zur Uhrzeit Ihres Geräts noch gültig ist.
- Lesen Sie Claims und Payload, um zu sehen, für wen das Token gedacht ist und was es enthält.
Was ein JWT enthält
Ein JSON Web Token hat drei Teile, durch Punkte getrennt. Die ersten beiden sind JSON-Objekte in base64url-Kodierung: Die Kopfzeile sagt, wie das Token signiert ist, und die Payload enthält die Claims. Das sind Aussagen wie für wen das Token gedacht ist und wann es abläuft. Der dritte Teil ist die Signatur.
RFC 7519 legt sieben registrierte Claim-Namen fest: iss, sub, aud, exp, nbf, iat und jti. Die Tabelle erklärt jeden davon, und die drei Zeitangaben zeigt sie zusätzlich als Datum in Ihrer Sprache.
Dekodieren heißt nicht prüfen
Diese Seite dekodiert das Token nur. Sie prüft die Signatur nicht, denn dafür braucht man den Schlüssel, mit dem das Token signiert wurde, und ein Prüfschlüssel ist geheim. Ein dekodiertes Token kann trotzdem gefälscht sein. Vertrauen Sie einem Claim deshalb nicht allein deshalb, weil Sie ihn hier lesen können.
Um ein Token zu prüfen, muss Ihr Server oder Ihre Bibliothek die Signatur mit dem richtigen Schlüssel und dem erwarteten Algorithmus prüfen und ein Token mit falscher Signatur ablehnen.
Wie das Ablaufdatum gelesen wird
Der Claim exp ist eine Anzahl von Sekunden seit dem 1. Januar 1970, 00:00 UTC. RFC 7519, Abschnitt 4.1.4, legt fest, dass ein Token ab diesem Zeitpunkt nicht mehr akzeptiert werden darf. Genau zu diesem Zeitpunkt gilt es daher schon als abgelaufen.
Ein Token ohne Claim exp läuft nie ab. Die Seite zeigt das rot an, weil ein Token, das nie abläuft, ein Risiko ist, das man kennen sollte.
Rechenbeispiel: das Beispieltoken aus RFC 7519
Das Beispiel in RFC 7519, Abschnitt 3.1, hat die Kopfzeile alg HS256 und die Payload iss joe, exp 1300819380 und einen eigenen Claim. Der Wert exp entspricht dem 22. März 2011 um 18:43 UTC, daher zeigt die Seite das Token als abgelaufen. Die Signatur wird nicht geprüft, das Ergebnis ist daher für jede Signatur gleich.
| Claim | Wert | Bedeutung |
|---|---|---|
| iss | joe | Aussteller: wer das Token erstellt hat |
| exp | 1300819380 (22. März 2011 um 18:43 UTC) | Ablaufzeit |
| http://example.com/is_root | true | Ein eigener Claim |
Häufig gestellte Fragen
Wird mein Token an einen Server geschickt?
Nein. Das Token wird in Ihrem Browser dekodiert, und die Seite speichert oder sendet es nicht. Sie können das prüfen, indem Sie ein Token dekodieren, nachdem die Seite geladen ist und Ihre Internetverbindung abgeschaltet wurde.
Prüft diese Seite, ob das Token echt ist?
Nein. Sie liest nur die Kopfzeile und die Claims. Für die Prüfung der Signatur braucht man den Schlüssel, mit dem das Token signiert wurde, und den fragt diese Seite nie ab. Ihre Anwendung muss diese Prüfung vornehmen.
Warum zeigt die Seite, dass ein Token abgelaufen ist, obwohl meine Anwendung es noch annimmt?
Ihre Anwendung erlaubt womöglich eine Nachfrist oder prüft das Ablaufdatum mit ihrer eigenen Uhr. Die Seite vergleicht exp mit der Uhrzeit Ihres Geräts, daher kann auch eine falsche Geräteuhr das Ergebnis ändern.
Was bedeutet der Algorithmus none?
Die Kopfzeile sagt, dass das Token keine Signatur hat. Jeder kann so ein Token schreiben, daher darf ein Dienst es bei allem Wichtigen nicht annehmen. Die Seite weist mit einem Hinweis darauf hin.
Warum zeigt ein Datum eine Uhrzeit, die ich nicht erwartet habe?
Das Datum wird in Ihrer Sprache und Zeitzone angezeigt, der Name der Zeitzone steht am Ende. Die Zahl davor ist der Wert, der im Token steht: Sekunden seit 1970 in UTC.
Kann diese Seite ein verschlüsseltes Token lesen?
Nein. Ein verschlüsseltes Token hat fünf Teile, und sein Inhalt lässt sich ohne den Schlüssel nicht lesen. Diese Seite liest nur signierte Tokens, die drei Teile haben.
Quellen
- RFC 7519 (englisch): JSON Web Token (JWT)
- RFC 7518 (englisch): JSON Web Algorithms, die alg-Werte in Abschnitt 3.1
- RFC 4648 (englisch): base64url-Kodierung in Abschnitt 5
Zahlen und Text zuletzt geprüft: Dienstag, 10. November 2026.