JWT Decoder

JWT Token Decodierung: Header, Payload und Claims Anzeigen

Decodiere einen Beispiel JWT Token, um Header, Payload Claims (sub, iss, exp, iat) und die Signatur zu sehen. Behandelt JWT Struktur, Base64url Kodierung und Sicherheitsfallstricke.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

Verwandte Werkzeuge

Decodierter Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Decodiertes Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "email": "john@example.com",
  "role": "admin",
  "iat": 1516239022,
  "exp": 1735689600
}

Signatur

TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

Die Signatur kann nicht decodiert werden. Es sind keine kodierten Daten, sondern die Ausgabe einer HMAC-SHA256 Operation. Um sie zu verifizieren, benötigst du den geheimen Schlüssel, der beim Ausstellen des Tokens verwendet wurde.

Drei-Teile JWT Struktur

Ein JWT besteht aus drei Base64url-kodierten Abschnitten, die durch Punkte verbunden sind:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0
.
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

Die Struktur ist definiert durch RFC 7519 und RFC 7515. Jeder Abschnitt hat einen anderen Zweck:

Der Header gibt den Tokentyp und den Signaturalgorithmus an. alg teilt dem Validator mit, welcher Algorithmus zur Berechnung der Signatur verwendet wurde. typ ist bei Standard Tokens immer JWT. Einige Tokens enthalten auch kid (key ID), um anzugeben, welcher spezifische Schlüssel verwendet wurde; das ist wichtig, wenn ein Autorisierungsserver Schlüssel rotiert.

Payload

Das Payload enthält die Claims: Aussagen über das Subjekt und zusätzliche Metadaten. Standard registrierte Claims haben kurze Namen, um Tokens kompakt zu halten (sub, iss, exp). Benutzerdefinierte Claims können alles sein, was deine Anwendung benötigt, aber die JWT Spezifikation empfiehlt die Verwendung eines Namespace-Formats für benutzerdefinierte Claims, um Kollisionen zu vermeiden (z.B. https://myapp.com/role).

Signatur

Die Signatur wird über base64url(header) + "." + base64url(payload) mit dem im Header angegebenen Algorithmus berechnet. Für HS256 ist es HMAC-SHA256(secret, data). Für RS256 ist es RSA-SHA256(privateKey, data). Die Signatur stellt sicher, dass der Token nicht manipuliert wurde, kann aber ohne den Schlüssel nicht überprüft werden.

Sicherheitshinweise

Ein JWT enthält codierte, aber nicht verschlüsselte Daten. Behandle die Payload Daten niemals als vertraulich. Tokens sollten keine Passwörter, API Schlüssel, Kreditkartendaten oder persönliche Informationen enthalten, deren Offenlegung ein Sicherheitsproblem darstellen würde. Verwende JWT für Identitätsclaims und Autorisierungsinformationen, aber nicht für vertrauliche Nutzdaten.

Wenn du JWT Claims mit Unix-Timestamps untersuchst, verwende den Unix Timestamp Konverter, um sie in lesbare Daten umzuwandeln. Der JWT Decoder decodiert jeden Token sofort in deinem Browser.