JSON Web Tokens mit dem JWT Decoder verstehen
Was dieser Decoder macht
Ein JSON Web Token besteht aus drei Base64URL-codierten Teilen, die durch Punkte verbunden sind: einem header, einem payload und einer signature. Dieser Decoder zerlegt die Zeichenkette an diesen Punkten, wandelt header und payload zurück in lesbares JSON und zeigt das signature-Segment unverändert an. Er liest das alg-Feld aus dem header und hebt anschließend die registrierten Standard-Claims — sub, iss, aud, jti — zusammen mit den Zeit-Claims hervor, damit du auf einen Blick siehst, was das Token behauptet.
Die Decodierung startet, sobald du ein Token einfügst, ganz ohne separaten Absende-Schritt. Zusätzlich steht ein Beispiel-Token bereit, falls du nur sehen möchtest, wie eine decodierte Struktur aussieht.
Wann er sich lohnt
Er hilft immer dann, wenn sich eine authentifizierte Anfrage unerwartet verhält und du sehen musst, was das Token tatsächlich enthält. Ein häufiger Fall ist ein 401, den du dir nicht erklären kannst: Token einfügen, und die Statuszeile zeigt sofort, ob es abgelaufen ist, noch nicht gültig ist oder sich weiterhin im aktiven Zeitraum befindet.
Ebenso nützlich ist er beim Aufbau eines Login-Flows, um zu bestätigen, dass issuer, audience und subject dem entsprechen, was das Backend erwartet, oder um zu prüfen, ob ein serverseitig hinzugefügter eigener Claim wirklich im payload angekommen ist.
Beispiel: die drei Teile lesen
Bei einem Token der Form eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx... decodiert sich das erste Segment zu einem header wie {"alg":"HS256","typ":"JWT"}, das zweite zu einem payload wie {"sub":"1234","iat":1700000000,"exp":1700003600}, und das dritte bleibt die undurchsichtige signature. Der Decoder wandelt die numerischen Werte iat und exp in lokale Datumsangaben um und zeigt, solange das Token noch gültig ist, die verbleibende Zeit bis zum Ablauf.
Hinweise und Sonderfälle
Decodieren ist keine Verifizierung. Dieses Tool gleicht die signature niemals mit einem geheimen oder öffentlichen Schlüssel ab, deshalb belegt ein decodiertes Token nur, was es behauptet, nicht dass diese Angaben vertrauenswürdig sind: Verifiziere die signature immer serverseitig mit einer geeigneten Bibliothek, bevor du auf ein Token reagierst. Da der payload lediglich Base64URL-codiert ist, gilt sein gesamter Inhalt für jeden, der das Token besitzt, als lesbar, denn er ist nicht verschlüsselt. Aus demselben Grund solltest du keine echten Produktions-Token einfügen, die dir nicht gehören, und beachten, dass exp und nbf Unix-Timestamps in Sekunden sind — weshalb ein Token genau in dem Moment als abgelaufen erscheint, in dem sein exp überschritten wird.