So funktioniert’s
- 1Füge das Token in das Feld ein – mit oder ohne das Präfix „Bearer“. Header und Payload werden schon während der Eingabe dekodiert.
- 2Sieh dir die Statuszeile an: Anhand der Claims
expundnbfzeigt sie, ob das Token gültig, abgelaufen oder noch nicht gültig ist. - 3Lies die Standard-Claims – Aussteller, Subjekt, Empfänger und Zeitangaben –, wobei Zeitstempel als Datum in deiner Zeitzone angezeigt werden.
- 4Um die Signatur zu prüfen, gib bei
HS256-Tokens das gemeinsame Secret ein oder füge beiRS256,ES256und anderen Schlüsselpaar-Algorithmen den öffentlichen Schlüssel bzw. das JWK-Set ein.
Was in einem JWT steckt
Ein JSON Web Token besteht aus drei Base64URL-kodierten Teilen, die durch Punkte verbunden sind: header.payload.signature. Der Header gibt an, wie das Token signiert ist, zum Beispiel {"alg":"HS256","typ":"JWT"}. Der Payload enthält die Claims – Angaben über den Nutzer und das Token, etwa eine Nutzer-ID, Rollen und eine Ablaufzeit. Die Signatur beweist, dass die ersten beiden Teile von demjenigen stammen, der den Schlüssel besitzt, und nicht verändert wurden.
Base64URL ist eine Kodierung, keine Verschlüsselung: Jeder, der das Token hat, kann seinen Payload lesen – genau wie dieses Tool. Pack deshalb nie Passwörter oder andere Geheimnisse in ein JWT. Wenn der Inhalt vertraulich bleiben muss, muss der Aussteller ein verschlüsseltes Token (JWE) verwenden, das aus fünf Teilen besteht und sich nur mit dem richtigen Schlüssel lesen lässt.
Standard-Claims und Ablauf
RFC 7519 definiert sieben registrierte Claims. iss (Issuer) nennt den Aussteller, der das Token erstellt hat, sub (Subject) das Subjekt, um das es geht – meist eine Nutzer-ID –, und aud (Audience) den Empfänger, also den Dienst, für den es bestimmt ist. exp (Expiration Time), nbf (Not Before) und iat (Issued At) sind Zeitstempel in Sekunden seit dem 1. Januar 1970 – für Ablauf, frühesten Gültigkeitsbeginn und Ausstellung –, und jti ist eine eindeutige ID, mit der ein Server erkennt, wenn ein Token erneut verwendet wird.
Ein Server muss ein Token nach seiner exp-Zeit und vor seiner nbf-Zeit ablehnen. Kurze Laufzeiten – bei Access Tokens oft 5 bis 60 Minuten – begrenzen den Schaden, wenn ein Token gestohlen wird. Deshalb holen sich Apps mit Refresh Tokens regelmäßig neue.
Die Signatur prüfen
Das Dekodieren zeigt, was ein Token behauptet – erst die Signatur verrät, ob man ihm glauben kann. HS256, HS384 und HS512 nutzen ein gemeinsames Secret, das sowohl der Aussteller als auch der Server kennt. RS256, PS256, ES256, EdDSA und ähnliche Algorithmen verwenden ein Schlüsselpaar: Der Aussteller signiert mit seinem privaten Schlüssel, und jeder kann mit dem öffentlichen Schlüssel verifizieren. Identity Provider veröffentlichen ihre öffentlichen Schlüssel als JWK-Set, oft unter einer URL, die auf /.well-known/jwks.json endet.
Die Prüfung läuft lokal über die Web Crypto API deines Browsers, und nichts, was du einfügst, wird irgendwohin gesendet. Geh trotzdem sorgsam mit Secrets aus der Produktion um – und denk daran, dass zum Verifizieren eines Tokens nie ein privater Schlüssel nötig ist. Füge also nur öffentliche Schlüssel ein.
Häufige Fragen
Ist es sicher, ein JWT hier einzufügen?
Ja. Das Token wird in deinem Browser dekodiert und geprüft und nie an nestoo oder sonst jemanden gesendet. Denk aber daran, dass ein gültiges Access Token wie ein vorübergehendes Passwort funktioniert: Wer es kopiert, kann es bis zum Ablauf nutzen. Teile aktive Tokens daher nicht in Chats oder Tickets.
Kann man ein JWT ohne das Secret dekodieren?
Ja. Header und Payload sind nur Base64URL-kodiert, also kann sie jeder ohne Schlüssel lesen. Ein Secret oder privater Schlüssel ist nötig, um eine gültige Signatur zu erzeugen, und das Secret oder der öffentliche Schlüssel, um sie zu prüfen.
Warum zeigt mein Token „Ungültige Signatur“ an?
Meist ist das Secret oder der Schlüssel falsch: ein Schlüssel aus einer anderen Umgebung, ein Secret, das erst Base64-dekodiert werden muss, oder ein öffentlicher Schlüssel mit einer anderen kid. Es passiert auch, wenn das Token beim Kopieren verändert oder abgeschnitten wurde. Nutze bei Tokens eines Identity Providers dessen aktuelles JWK-Set.
Was ist der Unterschied zwischen JWS und JWE?
Ein JWS ist ein signiertes Token aus drei Teilen: Jeder kann es lesen, aber niemand kann es verändern, ohne die Signatur zu brechen. Ein JWE ist ein verschlüsseltes Token aus fünf Teilen, dessen Inhalt nur lesen kann, wer den Schlüssel zum Entschlüsseln besitzt. Die meisten Tokens, die als JWT bezeichnet werden, sind JWS.
Was bedeuten exp, iat und nbf?
Es sind Zeitangaben in Sekunden seit dem 1. Januar 1970, bekannt als Unix-Zeit. exp gibt an, wann das Token abläuft, iat, wann es ausgestellt wurde, und nbf den Zeitpunkt, vor dem es nicht akzeptiert werden darf. Dieses Tool zeigt sie als Datum in deiner Zeitzone an und sagt dir, wie lange sie her sind bzw. wie bald sie erreicht werden.