JWT online dekodieren

Lokale Verarbeitung
app.jwt.view

Daten auch über #data={"name":"Ada"} oder #url=... einfügen; nach dem Lesen wird die Adressleiste geleert.

JWT hat Header, Payload und Signatur. Hier nur Base64URL der ersten beiden Segmente im Browser – Ablaufzeit und eigene Claims. Token geht nicht an den Server. Login debuggen, prüfen ob exp abgelaufen ist, ohne echte Tokens auf unbekannte Sites zu kleben.

Lokal zerlegen

Login debuggen, prüfen von exp / sub . Header: Algorithmus und Typ; Payload: Fach-Claims.

Fehlt die Signatur, werden die ersten beiden Segmente trotzdem versucht – unvollständige Logs.

Keine Signaturprüfung

Private Schlüssel gehören nicht ins Web. Prüfung in Produktion auf dem Backend. Jeder mit dem Token liest das Payload; Vertraulichkeit über HTTPS und kurze Laufzeit.

Die Signaturzeichenkette wird gezeigt, HMAC / RSA nicht verifiziert.

Claims zuordnen

Erkennt issLokal zerlegenaudLogin debuggen, prüfen voniat und andere offizielle Felder mit Bedeutung. Zahlen-Zeitstempel möglichst als lesbare Zeit.

Eigene Claims unverändert – Abgleich mit eurem Login-Protokoll.

Beispiel

Token-Form
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IuW8oOS4iSIsImlhdCI6MTcyMDAwMDAwMCwiZXhwIjoxOTAwMDAwMDAwfQ.signature
Was nach dem Dekodieren sichtbar ist
{
  "header": { "alg": "HS256", "typ": "JWT" },
  "payload": { "sub": "1234", "name": "张三", "iat": 1720000000, "exp": 1900000000 }
}
Wird die Signatur geprüft?

Nur die Signaturzeichenkette, keine Echtheitsprüfung. Jeder kann das Payload dekodieren; Vertraulichkeit über HTTPS und Backend-Prüfung.

Gehen große Integer verloren?

JavaScript Number hat Präzisionsgrenzen. Sehr große IDs am Original-Payload prüfen, nicht nur an der Number.

Wird das Token gespeichert?

Kein Upload, keine Cloud-Historie. Tab schließen, Speicher leer.

Kann man damit Logins fälschen?

Nein, und sollte man nicht. Ohne privaten Schlüssel kein Token, das die Serverprüfung besteht. Diese Seite nur zum Lesen.

Empfohlener Ablauf

  1. JWT aus Response-Header, Cookie oder Local Storage kopieren (nicht in Chats senden).
  2. Hier einfügen oder Beispiel laden, Header und Payload ansehen.
  3. Prüfen, ob exp / nbf zur aktuellen Zeit passt und aud auf den richtigen Dienst zeigt.
  4. Prüfen, Refresh, Widerruf immer auf dem Backend; hier nur Lesen.

Dekodierbar heißt nicht authentifiziert. Token wie ein Passwort behandeln, nach Ablauf invalidieren.