JWT-Decoder / Inspektor / Validator
JWT-Tokens decodieren, inspizieren und verifizieren — Header, Payload, Claims und HMAC-Signaturen. Alles läuft in Ihrem Browser
| Claim | Wert | Bedeutung | Status |
|---|
RSA- und EC-Signaturverifizierung
Die RSA- und EC-Signaturverifizierung erfordert den Import öffentlicher Schlüssel über die Web Crypto API. Diese Funktion ist für ein zukünftiges Update geplant.
Für HMAC-basierte Tokens (HS256, HS384, HS512) ist die vollständige Signaturverifizierung jetzt mit der HMAC-Geheimnis-Option verfügbar.
RSA- und EC-Signaturverifizierung
Die RSA- und EC-Signaturverifizierung erfordert den Import öffentlicher Schlüssel über die Web Crypto API. Diese Funktion ist für ein zukünftiges Update geplant.
Für HMAC-basierte Tokens (HS256, HS384, HS512) ist die vollständige Signaturverifizierung jetzt mit der HMAC-Geheimnis-Option verfügbar.
Was ist ein JWT?
Ein JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Token-Format zur sicheren Übertragung von Informationen zwischen Parteien. Es besteht aus drei Base64URL-codierten Teilen, die durch Punkte getrennt sind.
Header
Der Header enthält typischerweise zwei Felder: den Signaturalgorithmus (alg) und den Token-Typ (typ).
Payload (Claims)
Der Payload enthält Claims — Aussagen über den Benutzer und Metadaten. Standard-Claims umfassen:
| Claim | Name | Beschreibung |
|---|---|---|
iss | Aussteller | Wer hat den Token ausgestellt |
sub | Betreff | Worum es im Token geht |
aud | Empfänger | Vorgesehener Empfänger des Tokens |
exp | Ablaufzeit | Wann der Token abläuft (Unix-Zeitstempel in Sekunden) |
nbf | Nicht Vor | Der Token ist vor diesem Zeitpunkt nicht gültig |
iat | Ausgestellt Am | Wann der Token erstellt wurde |
jti | JWT-ID | Eindeutiger Bezeichner für den Token |
Signatur
Die Signatur wird erstellt, indem Header und Payload codiert, mit einem Punkt verbunden und mit dem im Header angegebenen Algorithmus signiert werden.
base64UrlEncode(header) + "." + base64UrlEncode(payload),
secret
)
Häufige Missverständnisse
Sicherheits-Best-Practices
Tips
Decodieren Bedeutet Nicht Vertrauen
Jeder kann einen JWT decodieren — Base64URL ist keine Verschlüsselung. Decodierung enthüllt den Inhalt, aber nur die Signaturverifizierung beweist, dass der Token nicht manipuliert wurde.
Ablaufzeit Vor Verwendung Prüfen
Der exp (Ablauf)-Claim ist ein Unix-Zeitstempel in Sekunden. Prüfen Sie immer, ob er in der Zukunft liegt, bevor Sie einem Token vertrauen. Dieses Tool zeigt den Zeitstatus sofort an.
alg: none Ist ein Sicherheitsrisiko
Der "none"-Algorithmus bedeutet, dass der Token keine Signatur hat. Ihn in der Produktion zu akzeptieren kann Angreifern ermöglichen, Tokens zu fälschen. Lehnen Sie alg: none auf Ihrem Server immer ab.
JWTs Sind Standardmäßig Nicht Verschlüsselt
Standard-JWTs (JWS) sind nur signiert, nicht verschlüsselt. Der Payload ist für jeden mit dem Token lesbar. Speichern Sie niemals Passwörter, Kreditkartennummern oder andere Geheimnisse in einem JWT-Payload.
Häufige Anwendungsfälle
API-Debugging
Fügen Sie Zugriffstoken aus API-Antworten ein, um schnell Claims zu inspizieren, Ablaufzeiten zu prüfen und den Aussteller zu verifizieren, ohne Ihren Browser zu verlassen.
Auth-Flow-Tests
Decodieren Sie Tokens bei jedem Schritt von OAuth2- oder OpenID-Connect-Flows, um zu überprüfen, ob die richtigen Scopes, Empfänger und Claims vorhanden sind.
Token-Ablaufüberwachung
Prüfen Sie, wann Tokens ablaufen, um Session-Timeout-Probleme zu debuggen. Das Tool zeigt lesbare Zeitunterschiede wie "läuft in 14 Minuten ab".
CI/CD-Pipeline-Verifizierung
Verifizieren Sie, dass Service-zu-Service-Tokens die erwarteten Claims enthalten, bevor Sie deployen. Fügen Sie Tokens aus Pipeline-Logs ein, um sie zu inspizieren.
Sicherheitsaudit
Inspizieren Sie Tokens auf sensible Datenlecks (PII im Payload), schwache Algorithmen (alg: none) oder fehlende Sicherheits-Claims (exp, aud, iss).