Blog
Was ist JWT und wie funktioniert es? Der vollständige Leitfaden für Einsteiger
Erfahren Sie, was ein JWT (JSON Web Token) ist, wie es funktioniert, woraus es besteht und warum es für die Authentifizierung moderner Webanwendungen verwendet wird.

Was ist JWT und wie funktioniert es?
Wenn Sie moderne Webanwendungen entwickeln, sind Sie wahrscheinlich bereits auf den Begriff JWT oder JSON Web Token gestoßen. JWT ist eine der am häufigsten verwendeten Methoden, um Informationen sicher zwischen einem Client und einem Server zu übertragen. Es wird vor allem für Authentifizierung, Autorisierung und den Schutz von APIs eingesetzt.
In diesem Leitfaden erfahren Sie, was JWT ist, wie es funktioniert, wie es aufgebaut ist und warum es zu einem Standard der modernen Webentwicklung geworden ist.
Was ist JWT?
JWT (JSON Web Token) ist ein offener Standard (RFC 7519), der eine sichere Übertragung von Informationen in Form eines kompakten JSON-Objekts ermöglicht.
Jedes JWT wird digital signiert, sodass der Empfänger überprüfen kann, ob der Token verändert wurde.
Im Gegensatz zur klassischen sitzungsbasierten Authentifizierung speichert JWT die Authentifizierungsinformationen direkt im Token und nicht auf dem Server.
Aufbau eines JWT
Ein JWT besteht aus drei Teilen, die durch Punkte getrennt sind.
xxxxx.yyyyy.zzzzz
1. Header
Der Header enthält Informationen über den Signaturalgorithmus und den Tokentyp.
Beispiel:
{
"alg": "HS256",
"typ": "JWT"
}
Anschließend wird der Header im Base64Url-Format kodiert.
2. Payload
Die Payload enthält die Benutzerdaten (Claims).
Beispiel:
{
"userId": 15,
"email": "john@example.com",
"role": "admin"
}
Typische Informationen sind:
- Benutzer-ID
- Benutzername
- E-Mail-Adresse
- Rolle
- Berechtigungen
- Ablaufdatum
Die Payload ist nicht verschlüsselt. Jeder kann ihren Inhalt dekodieren.
3. Signatur
Die Signatur stellt sicher, dass der Token nicht verändert wurde.
Sie wird wie folgt erstellt:
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)
Den geheimen Schlüssel kennt ausschließlich der Server.
Wie funktioniert JWT?
Der typische Ablauf sieht folgendermaßen aus:
- Der Benutzer meldet sich an.
- Der Server überprüft die Anmeldedaten.
- Der Server erstellt ein JWT.
- Der Token wird an den Client gesendet.
- Der Client speichert das JWT.
- Bei jeder weiteren Anfrage sendet der Client den Token mit.
- Der Server überprüft die Signatur.
- Ist sie gültig, wird der Zugriff gewährt.
Dadurch müssen auf dem Server keine Sitzungen gespeichert werden.
Wo wird JWT verwendet?
JWT wird häufig eingesetzt für:
- Benutzerauthentifizierung
- REST-APIs
- React-, Vue- und Angular-Anwendungen
- Mobile Apps
- OAuth 2.0
- Microservices
- API-Gateways
Vorteile von JWT
JWT bietet zahlreiche Vorteile:
- Zustandslose Authentifizierung (Stateless)
- Kompakte Token-Größe
- Schnelle Überprüfung
- Einfach zwischen mehreren Diensten nutzbar
- Ideal für mobile Anwendungen
- Leicht skalierbar
JWT oder Sessions?
| JWT | Sessions |
|---|---|
| Wird auf dem Client gespeichert | Werden auf dem Server gespeichert |
| Stateless | Stateful |
| Ideal für APIs | Ideal für klassische Websites |
| Einfach zu skalieren | Benötigt Session-Speicher |
Beide Ansätze haben ihre Vorteile und eignen sich für unterschiedliche Anwendungsfälle.
Ist JWT sicher?
Ja, wenn es korrekt implementiert wird.
Empfohlene Best Practices:
- HTTPS verwenden.
- Ein Ablaufdatum festlegen.
- Keine sensiblen Daten in der Payload speichern.
- Sichere Signaturalgorithmen verwenden.
- Geheimschlüssel regelmäßig erneuern.
- Jede Token-Signatur überprüfen.
Häufige Fehler
Viele Entwickler machen anfangs folgende Fehler:
- Passwörter im JWT speichern.
- Kein Ablaufdatum festlegen.
- Die Signatur nicht überprüfen.
- Schwache geheime Schlüssel verwenden.
- Tokens über HTTP übertragen.
Beispiel eines JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJ1c2VySWQiOjE1LCJyb2xlIjoiYWRtaW4ifQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Obwohl diese Zeichenfolge zufällig aussieht, besteht sie aus Header, Payload und Signatur.
Fazit
JWT gehört heute zu den wichtigsten Technologien für die Authentifizierung moderner Anwendungen. Es ermöglicht eine sichere und effiziente Kommunikation zwischen Client und Server, ohne Sitzungen speichern zu müssen.
Wenn Sie APIs, Single-Page-Anwendungen oder mobile Apps entwickeln, ist das Verständnis von JWT unverzichtbar. In Kombination mit HTTPS, einer korrekten Signaturprüfung und bewährten Sicherheitsmaßnahmen bietet JWT eine leistungsstarke und skalierbare Lösung für Authentifizierung und Autorisierung.