JWT-Decoder und -Verifizierer
An Ihre Tools anheftenDekodiere ein JSON Web Token, prüfe Ablauf und Claims und verifiziere die Signatur mit einem Geheimnis oder öffentlichen Schlüssel.
Läuft vollständig in deinem Browser. Was du tippst, wird nie an unsere Server gesendet.
Payload
Ein Geheimnis für HS256/384/512, ein öffentlicher Schlüssel als PEM (SPKI oder Zertifikat) für die anderen, oder ein JWK bzw. JWKS (der Schlüssel wird über die kid des Tokens gewählt). Der Schlüssel wird nie geteilt oder gespeichert.
Verlauf · 0
Verarbeitete Eingaben erscheinen hier, solange diese Seite geöffnet ist. Beim Neuladen wird der Verlauf gelöscht.
Codebeispiele
Kopieren Sie diese Beispiele in Ihr eigenes Projekt. Sie verwenden nur die Standardbibliothek der Sprache, es muss also nichts installiert werden.
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')
console.log(JSON.stringify(JSON.parse(json), null, 2))Was es macht
Dekodiere ein JSON Web Token, um Header und Payload zu lesen, sieh, ob es abgelaufen ist, und verifiziere seine Signatur mit einem Secret oder einem öffentlichen Schlüssel. Das Token wird in deinem Browser dekodiert, diese Seite zeigt keine Werbung, und Token und Schlüssel werden nie geteilt oder gespeichert.
So geht’s
- Füge das Token ein. Ein
Bearer-Präfix und Zeilenumbrüche werden ignoriert. - Lies die Payload als formatiertes oder kompaktes JSON. Darunter siehst du den Algorithmus, den Status und die Zeiten
exp,nbfundiatsamt ihrem Abstand zu jetzt. - Zum Verifizieren der Signatur gibst du den Schlüssel ein: ein Secret für HS256, HS384 und HS512 oder einen öffentlichen Schlüssel (PEM oder JWK) für RS, PS, ES und EdDSA.
- Schalte Header und Payload zwischen JSON und Claims um: Claims listet jeden Claim mit seiner Bedeutung und zeigt Zeit-Claims als Datum.
- Öffne den Tab Kodieren, um Header und Payload zu schreiben und mit einem Geheimnis oder einem privaten Schlüssel (PKCS#8-PEM oder JWK) zu signieren. Nichts auf diesem Tab wird gespeichert, geteilt oder zum Verlauf hinzugefügt.
Beispiele
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Die Payload dieses Tokens:
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
Seine Signatur lässt sich mit dem Secret your-256-bit-secret verifizieren.
Gut zu wissen
- Dekodieren ist nicht Verifizieren: Die Payload ist nur kodiert, nicht verschlüsselt, und jeder kann sie lesen.
- Dein Server muss die Signatur verifizieren, bevor er einem Claim vertraut.
- Ein Token mit dem Algorithmus
noneist unsigniert, jeder könnte es erstellt haben. - Behandle aktive Tokens wie Passwörter. Füge hier lieber abgelaufene oder Test-Tokens ein.
- Ein eingefügtes JWKS wird nach der
kiddes Tokens durchsucht, ein einzelnes JWK wird unverändert verwendet. Die Seite lädt nie einen Schlüsselsatz vom Aussteller des Tokens. - Ein HMAC-Geheimnis, das kürzer als sein Hash ist (32, 48 oder 64 Bytes), lässt sich erraten, deshalb warnt dich die Seite. Ein Geheimnis kann als UTF-8-Text oder als Base64URL gelesen werden.
Was ist ein JWT?
Ein JSON Web Token besteht aus drei Base64URL-Teilen, durch Punkte verbunden: einem Header mit dem Signaturalgorithmus, einer Payload mit Claims, etwa für wen das Token gilt und wann es abläuft, und einer Signatur. Die ersten beiden Teile kann jeder lesen; nur die Signatur beweist, dass das Token von jemandem mit dem Schlüssel stammt.
Häufige Fragen
Ist Dekodieren dasselbe wie Verifizieren?
Nein. Dekodieren liest nur den Inhalt, der nicht verschlüsselt ist. Verifizieren prüft die Signatur mit dem Schlüssel, und dein Server muss das tun, bevor er einem Claim vertraut.
Was bedeuten exp, nbf und iat?
exp ist der Ablaufzeitpunkt, nbf der Zeitpunkt, vor dem das Token nicht gilt, und iat der Ausstellungszeitpunkt, jeweils in Sekunden seit 1970. Dieses Tool vergleicht sie mit der Uhr deines Geräts.
Ist es sicher, hier ein echtes Token einzufügen?
Das Token wird in deinem Browser dekodiert und nie an unsere Server gesendet, und diese Seite zeigt keine Werbung. Behandle echte Tokens trotzdem wie Passwörter: Nimm besser abgelaufene oder Test-Tokens.