So funktioniert es
- Fügen Sie das Token ein – mit oder ohne das Präfix „Bearer “. Die drei Teile werden farblich unterschieden.
- Lesen Sie den decodierten Header und die Payload. Die Claims iat, nbf und exp werden als Datum mit relativer Zeitangabe angezeigt.
- Um die Signatur zu prüfen, geben Sie bei HS256/384/512 das gemeinsame Secret ein oder fügen Sie bei RS-, PS-, ES- und EdDSA-Tokens den öffentlichen Schlüssel (PEM oder JWK) ein.
- Kopieren Sie das decodierte JSON, wenn Sie es anderswo brauchen.
Optionen erklärt
- Header
- Metadaten zum Token, meist alg (der Signaturalgorithmus) und typ. Ein kid-Feld gibt an, mit welchem Schlüssel signiert wurde.
- Payload
- Die Claims. Zu den registrierten gehören sub (Subjekt), iss (Aussteller), aud (Zielgruppe), iat (ausgestellt am), nbf (nicht vor) und exp (Ablauf), alle Zeiten in Unix-Sekunden.
- Signatur
- Belegt, dass Header und Payload nicht verändert wurden. Zur Prüfung brauchen Sie das Secret (HMAC) oder den öffentlichen Schlüssel des Ausstellers (RSA, ECDSA, EdDSA).
- Secret ist Base64-codiert
- Manche Dienste speichern HMAC-Secrets Base64-codiert. Setzen Sie das Häkchen, wenn Ihr Secret in dieser codierten Form vorliegt.
Gängige Claims
| Claim | Bedeutung | Beispiel |
|---|---|---|
sub |
Auf wen sich das Token bezieht (Benutzer-ID) | "1234567890" |
iss |
Wer es ausgestellt hat | "https://accounts.example.com" |
aud |
Für wen es bestimmt ist | "my-api" |
exp |
Ablaufzeit, Unix-Sekunden | 1790427600 |
iat |
Ausgestellt um, Unix-Sekunden | 1790424000 |
nbf |
Nicht gültig vor, Unix-Sekunden | 1790424000 |
jti |
Eindeutige Token-ID, verhindert Replay | "a1b2c3" |
Beispiel
Das Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c wird zum Header {"alg":"HS256","typ":"JWT"} und zu einer Payload mit sub, name und iat (18. Januar 2018) decodiert. Mit dem Secret your-256-bit-secret wird die Signatur bestätigt.
Häufig gestellte Fragen
Ist es sicher, hier ein Produktions-JWT einzufügen?
Das Token wird per JavaScript in Ihrem Browser decodiert und weder hochgeladen noch protokolliert. Behandeln Sie Access-Tokens trotzdem wie Passwörter – wer ein gültiges Token besitzt, kann es bis zum Ablauf verwenden.
Beweist das Decodieren, dass ein JWT echt ist?
Nein. Header und Payload sind nur Base64URL-codiert, jeder kann sie also lesen oder fälschen. Erst eine erfolgreiche Signaturprüfung mit dem richtigen Schlüssel zeigt, dass das Token vom erwarteten Aussteller stammt.
Warum schlägt die Prüfung mit dem richtigen Secret fehl?
Prüfen Sie, ob das Secret Base64-codiert ist, ob ein Leerzeichen oder Zeilenumbruch am Ende steht und ob der Algorithmus im Header dem des Ausstellers entspricht. Auch jede Änderung am Token, selbst an einem einzigen Zeichen, macht die Signatur ungültig.
Was bedeutet „alg none“?
Das Token gibt an, unsigniert zu sein. Server müssen solche Tokens ablehnen, sofern sie sie nicht ausdrücklich erwarten; ihre Annahme hat bereits zu realen Umgehungen der Authentifizierung geführt.
Wie bekomme ich den öffentlichen Schlüssel für RS256-Tokens?
Identity-Provider veröffentlichen ihre Schlüssel als JWKS, meist unter /.well-known/jwks.json. Kopieren Sie den Schlüssel, dessen kid zum Token-Header passt, und fügen Sie ihn hier als JWK ein.
Datenschutz
Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien und Texte werden auf Ihrem Gerät verarbeitet und nie auf unsere Server hochgeladen.