nicetool.dev logo

Was ist ein JWT?

Ein JSON Web Token (JWT) ist ein offener Standard (RFC 7519), der eine kompakte und eigenständige Methode zur sicheren Übertragung von Informationen zwischen Parteien als JSON-Objekt definiert. Diese Informationen können verifiziert und vertrauenswürdig sein, da sie digital signiert sind.

JWT-Struktur

Ein JWT ist eine Zeichenfolge, die aus drei Base64URL-kodierten Teilen besteht: dem Header (Algorithmus & Token-Typ), dem Payload (Daten/Claims) und der Signatur. Diese Teile sind durch Punkte (.) getrennt:

header.payload.signature

Häufige Anwendungsfälle

  • Autorisierung: Das häufigste Szenario. Sobald der Benutzer eingeloggt ist, enthält jede nachfolgende Anfrage das JWT, das dem Benutzer den Zugriff auf Routen, Dienste und Ressourcen ermöglicht.
  • Informationsaustausch: JWTs sind eine gute Möglichkeit, gültige Anmeldeinformationen zwischen Parteien zu prüfen.
  • Stateless Sessions: Es müssen keine Sitzungsdaten auf dem Server gespeichert werden; der Token enthält alle notwendigen Benutzerinformationen.

Datenschutz & Sicherheit

Ihre Sicherheit ist unsere Priorität. Die gesamte JWT-Dekodierungs- und Verifizierungslogik erfolgt Client-seitig im JavaScript Ihres Browsers. Es werden keine Token, Header oder Payloads an unsere Server gesendet.

100% Browser-basiert

So verwenden Sie: JWT Debugger

  1. 1

    Fügen Sie ein Token (beginnt mit eyJ) in das Feld Encoded ein. Header und Payload werden sofort dekodiert und als formatiertes JSON angezeigt.

  2. 2

    Prüfen Sie die Standard-Claims. Zeiten wie exp, iat und nbf erscheinen als lesbare Daten, Sie sehen also sofort, ob das Token abgelaufen oder noch nicht gültig ist.

  3. 3

    Zur Signaturprüfung geben Sie das HMAC-Secret (HS256/384/512) oder den öffentlichen Schlüssel im PEM-Format (RS256/384/512, ES256/384/512) ein. Das Tool meldet, ob die Signatur passt.

  4. 4

    Im Generator-Modus erstellen Sie Test-Tokens: Payload bearbeiten, Algorithmus wählen, Secret oder privaten Schlüssel eingeben und das signierte JWT kopieren.

Praxisbeispiele

401-Fehler debuggen

Eine API lehnt Ihre Anfrage mit 401 Unauthorized ab. Dekodieren Sie das Token und suchen Sie nach abgelaufenem exp, falschem aud oder fehlendem scope.

Tokens von Identity-Providern prüfen

Untersuchen Sie ID-Tokens von Auth0, Keycloak, Firebase oder Azure AD, um zu sehen, welche Claims (email, roles, groups) Ihre Anwendung tatsächlich erhält.

Rollenbasierte Zugriffe testen

Erzeugen Sie mit Ihrem Entwicklungs-Secret Tokens mit role "admin" und role "viewer", um beide Pfade einer Berechtigungsprüfung zu testen.

Schlüsselrotation überprüfen

Nach einer Rotation fügen Sie ein neues Token und den neuen öffentlichen Schlüssel ein und bestätigen, dass kid im Header und Signatur zum neuen Schlüssel passen.

Häufige Fragen

Ist ein JWT verschlüsselt?+

Meist nicht. Ein normales JWT (JWS) ist nur Base64URL-kodiert und signiert. Jeder kann den Payload lesen, legen Sie also nie Passwörter oder sensible Daten hinein. Verschlüsselte Tokens (JWE) sind ein anderes Format.

Was bedeuten die drei Teile?+

header.payload.signature: Der Header nennt Algorithmus und Typ, der Payload enthält die Claims, und die Signatur belegt, dass die ersten beiden Teile vom Schlüsselinhaber stammen und unverändert sind.

Kann ich ein Produktions-Token hier einfügen?+

Dekodieren und Prüfen laufen vollständig im Browser, nichts wird an unseren Server gesendet. Ein gültiges Token wirkt aber bis zum Ablauf wie ein Passwort, nutzen Sie also lieber Test-Tokens oder widerrufen Sie echte nach dem Debuggen.

HS256 oder RS256?+

HS256 nutzt ein gemeinsames Secret zum Signieren und Prüfen und ist für einen einzelnen Dienst einfach. RS256 und ES256 signieren mit privatem und prüfen mit öffentlichem Schlüssel, passend, wenn viele Dienste Tokens einer zentralen Stelle prüfen.