RevealTheme logo

JWT-Decoder

Decodieren Sie JSON Web Tokens (JWT) sofort. Läuft in Ihrem Browser: Die Tokens verlassen niemals Ihr Gerät, sodass die Verwendung mit Produktionsgeheimnissen sicher ist.

So verwenden Sie dieses Tool

  1. 1

    Fügen Sie Ihr JWT in das Eingabefeld ein.

  2. 2

    Klicken Sie auf Decodieren. Header und Payload werden analysiert und angezeigt.

  3. 3

    Untersuchen Sie den Algorithmus, die Claims, die Ablaufzeit und den Aussteller.

Was ist ein JWT und wie funktioniert es?

Ein JSON Web Token (JWT, definiert in RFC 7519) ist eine kompakte, URL-sichere Möglichkeit, eine Reihe von Claims über einen Benutzer darzustellen, mit kryptografischem Nachweis, dass diese Claims nicht manipuliert wurden. JWTs treiben die Authentifizierung in den meisten modernen Web-Stacks an: Wenn Sie sich anmelden, erstellt der Server einen JWT, der Ihre Benutzer-ID und Berechtigungen enthält, signiert ihn mit einem geheimen Schlüssel und gibt ihn an Sie zurück. Ihr Browser speichert das Token (üblicherweise in localStorage oder in einem Cookie) und fügt es bei jeder nachfolgenden Anfrage in den Authorization-Header ein. Der Server überprüft die Signatur bei jeder Anfrage: Ist sie gültig, wird den Claims des Tokens vertraut; wurde es manipuliert, bricht die Signatur und die Anfrage wird abgelehnt. JWTs bestehen aus drei Teilen, die in Base64URL codiert und durch Punkte getrennt sind: Der Header deklariert den Signaturalgorithmus (HS256 für HMAC-SHA256, RS256 für RSA, ES256 für ECDSA, none für unsignierte Tokens, was gefährlich ist und die Sie ablehnen sollten); die Payload enthält die eigentlichen Claims (Standard-Claims wie 'sub' für das Subjekt, 'exp' für das Ablaufdatum, 'iat' für das Ausstellungsdatum sowie alle benutzerdefinierten Claims, die Ihre Anwendung definiert); die Signatur ist der Nachweis, dass Header und Payload von jemandem signiert wurden, der das Geheimnis besaß. Dieser Decoder enthüllt die ersten beiden Teile, bei denen es sich um öffentliche Informationen handelt; die Signatur kann nur mit dem Schlüssel überprüft werden, weshalb jeder JWT-Decoder die Claims ohne Verifizierung anzeigt.

Häufige Anwendungsfälle

  • Beheben Sie Authentifizierungsprobleme, indem Sie das JWT decodieren, das Ihr Client sendet – sehen Sie genau, welche Claims vorhanden sind, wer es ausgestellt hat und wann es abläuft.

  • Untersuchen Sie API-Gateway-JWTs (AWS Cognito, Auth0, Okta), um die Claim-Struktur für nachgelagerte Dienste zu verstehen.

  • Überprüfen Sie, ob benutzerdefinierte Claims (Organisations-ID, Rolle, Feature-Flags) im Code zur Token-Ausstellung korrekt gesetzt werden.

  • Vergleichen Sie Token vor und nach einer Aktualisierung, um zu bestätigen, dass die Ablaufzeit verlängert wurde.

  • Prüfen Sie den Algorithmus eines Tokens – bestätigen Sie, dass in der Produktion RS256 oder ES256 verwendet wird, niemals 'none'.

  • Übersetzen Sie base64url-Payloads aus Server-Logs in menschenlesbare Claims.

Häufig gestellte Fragen

Ist die Verwendung mit Produktions-JWTs sicher?
Ja. Die Decodierung erfolgt vollständig in Ihrem Browser mittels lokalem JavaScript: Das Token erreicht niemals unsere Server und erscheint in keinem Log. Sie können das überprüfen, indem Sie während der Decodierung die DevTools → Reiter Netzwerk öffnen: Es wird keine ausgehende Anfrage ausgelöst. Behandeln Sie JWTs dennoch wie Anmeldedaten: Fügen Sie sie nicht in URLs, Screenshots oder geteilte Dokumente ein, ganz gleich, wo der Decoder läuft.
Überprüft dies die Signatur?
Nein. Die Signaturprüfung erfordert das Geheimnis (für HS256) oder den öffentlichen Schlüssel (für RS256/ES256/PS256). Web-Tools, die Sie nach Ihrem Geheimnis fragen, um einen JWT zu verifizieren, sind ein Sicherheitswarnsignal: Sie würden Ihren Signaturschlüssel an einen Unbekannten senden. Überprüfen Sie Signaturen auf dem Server oder mit einer Bibliothek, die Sie kontrollieren (jose, jsonwebtoken).
Was passiert, wenn mein JWT abgelaufen ist?
Das Ablaufdatum verhindert die Decodierung nicht: Der Claim 'exp' ist lediglich ein Datenfeld innerhalb der Payload. Suchen Sie 'exp' in der decodierten Payload: Es ist ein Unix-Zeitstempel (Sekunden seit 1970). Konvertieren Sie ihn mit unserem Zeitstempel-Konverter, um das Ablaufdatum in Ihrer Zeitzone zu sehen. Liegt 'exp' bereits in der Vergangenheit, wird das Token von jedem konformen Prüfer abgelehnt, auch wenn der Decoder es weiterhin lesen kann.
Können JWTs verschlüsselt werden?
Ja: Das nennt man JWE (JSON Web Encryption, RFC 7516). Dieses Tool verarbeitet JWS (JSON Web Signature, der häufige Fall), bei dem die Payload signiert, aber sichtbar ist. JWE-Tokens haben 5 durch Punkte getrennte Teile statt 3 und erfordern den privaten Schlüssel des Empfängers zur Entschlüsselung. Hat Ihr Token 5 Teile, benötigen Sie ein Tool mit JWE-Unterstützung.
Was bedeutet 'alg': 'none' und ist es gefährlich?
'none' bedeutet, dass es keine Signatur gibt: Das Token ist unsigniert und jeder kann beliebige Claims fälschen. Produktionssysteme müssen Tokens mit 'alg: none' explizit ablehnen. Einige Bibliotheken akzeptieren sie standardmäßig (eine bekannte CVE-Klasse). Lassen Sie immer nur die Algorithmen zu, die Ihre Anwendung erwartet.
Warum JWT anstelle von Session-Cookies verwenden?
JWTs sind zustandslos: Der Server muss keine Session abfragen; das Token selbst enthält die Identität und die Berechtigungen des Benutzers. Das macht JWTs ideal für verteilte Systeme und APIs. Session-Cookies sind zustandsbehaftet (sie erfordern Session-Speicher auf dem Server), aber einfacher zu invalidieren (es genügt, die Session zu löschen). Der Kompromiss: JWTs skalieren besser, aber Sie können einen Benutzer nicht 'abmelden', bis das Token abläuft.
Was sind die Standard-Claims eines JWT?
RFC 7519 definiert: iss (Aussteller), sub (Subjekt, üblicherweise die Benutzer-ID), aud (Zielgruppe), exp (Ablaufzeit), nbf (nicht vor), iat (ausgestellt am), jti (JWT-ID). Darüber hinaus fügen Anwendungen benutzerdefinierte Claims wie 'roles', 'permissions' oder 'tenant_id' hinzu. Halten Sie benutzerdefinierte Claims klein: JWTs reisen im Header jeder Anfrage mit und erhöhen Ihren Bandbreitenverbrauch.

Verwandte Tools