BeYourTools
JSONJanuary 11, 2026

JWTs erklärt: Was jeder Entwickler wissen muss

JSON Web Tokens sind überall – Authentifizierung, API-Schlüssel, Session-Management. Wie sie funktionieren, wie man sie liest und welche Sicherheitsfehler häufig sind.

JWTAuthentifizierungSicherheitAPIs

Was ist ein JWT?

Ein JWT (JSON Web Token) ist ein kompakter, URL-sicherer String, der Claims zwischen zwei Parteien darstellt. Er besteht aus drei Base64URL-kodierten Abschnitten, getrennt durch Punkte: einem Header, einer Payload und einer Signatur. Die Signatur erlaubt es dem Empfänger zu verifizieren, dass die Inhalte nicht manipuliert wurden.

Die drei Teile

Header – gibt den Algorithmus an, mit dem der Token signiert wurde, sowie den Token-Typ.

Payload – enthält Claims: Fakten über den Nutzer und die Session, etwa Nutzer-ID, Rollen und Ablaufzeit.

Signatur – ein kryptografischer Hash aus Header und Payload, der beweist, dass der Token nicht verändert wurde.

Häufige Claims

Die Payload enthält typischerweise: sub (das Subjekt – meist eine Nutzer-ID), iat (ausgestellt um), exp (Ablauf-Zeitstempel), iss (Aussteller) und aud (vorgesehene Zielgruppe).

Decodieren vs. Verifizieren

Jeder kann ein JWT decodieren – die Payload ist nur kodiert, nicht verschlüsselt. Nutze unseren JWT-Decoder, um Header und Payload jedes Tokens während der Entwicklung zu inspizieren. Die Verifizierung (Prüfung der Signatur) erfordert den geheimen Schlüssel und geschieht auf deinem Server.

Häufige Sicherheitsfehler, die du vermeiden solltest

  • Akzeptiere niemals Tokens mit "alg": "none" – das deaktiviert die Signaturprüfung vollständig
  • Speichere Tokens in httpOnly-Cookies, nicht im localStorage des Browsers (der anfällig für Cross-Site-Scripting ist)
  • Validiere immer den exp-Claim – abgelaufene Tokens sollten abgelehnt werden
  • Lege niemals Passwörter oder sensible personenbezogene Daten in die Payload – sie kann von jedem gelesen werden, der den Token hat

Häufige Fragen

Wie inspiziere ich ein JWT, ohne Code zu schreiben?
Füge den Token in unseren JWT-Decoder ein. Er teilt den Token in seine drei Abschnitte, decodiert jeden und zeigt die komplette Payload inklusive aller Claims und der Ablaufzeit.
Ist die JWT-Payload verschlüsselt?
Nein – die Payload ist Base64URL-kodiert, was jeder decodieren kann. Speichere niemals Passwörter, Kreditkartennummern oder andere sensible Daten in einer JWT-Payload.
Was ist der Unterschied zwischen einem JWT und einem API-Schlüssel?
Ein API-Schlüssel ist ein opaker String – der Server muss ihn in einer Datenbank nachschlagen, um zu wissen, welche Berechtigungen er gewährt. Ein JWT ist eigenständig – der Server kann ihn verifizieren und die Berechtigungen aus der Payload lesen, ohne Datenbankabfrage.
Be
Founder & Editor, BeYourTools
I build free browser-based tools for developers and designers. Nothing you paste here ever leaves your device.

More JSON articles

Latest articles