JWT (JSON Web Token)

{{heroImg}} logo
JWT (JSON Web Token) ist ein offener Industriestandard (RFC 7519) für die sichere Übertragung von Informationen zwischen Parteien als JSON-Objekt. Die Informationen können digital signiert werden, wodurch ihre Integrität und Authentizität gewährleistet wird.

Was ist JWT?

Stellen Sie sich JWT wie einen digitalen Ausweis vor: Er enthält Informationen über Sie (wie Name oder Berechtigungen), ist fälschungssicher durch eine digitale Signatur und kann leicht überprüft werden. Im Gegensatz zu traditionellen Sitzungscookies trägt ein JWT alle notwendigen Informationen direkt in sich.

Aufbau eines JWT

  • Header: Enthält Informationen über den Token-Typ und den verwendeten Algorithmus
  • Payload: Enthält die eigentlichen Daten (Claims) wie Benutzer-ID oder Berechtigungen
  • Signatur: Sichert die Echtheit des Tokens
// JWT besteht aus drei Teilen, getrennt durch Punkte
header.payload.signature

// Beispiel-Header
{
  "alg": "HS256",
  "typ": "JWT"
}

// Beispiel-Payload
{
  "sub": "1234567890",
  "name": "Max Mustermann",
  "iat": 1516239022
}

Vorteile von JWT

  • Zustandslos: Server müssen keine Sitzungsinformationen speichern
  • Kompakt: Effiziente Übertragung durch Base64URL-Kodierung
  • Selbstständig: Enthält alle notwendigen Informationen
  • Sicher: Durch digitale Signatur geschützt
  • Plattformunabhängig: Funktioniert mit allen Programmiersprachen

Einsatzgebiete

  • Authentifizierung in Webanwendungen
  • Autorisierung für APIs
  • Informationsaustausch zwischen Services
  • Single Sign-On (SSO) Systeme
  • Mobile App Authentifizierung

Sicherheitsaspekte

  • Tokens sollten über HTTPS übertragen werden
  • Sensible Daten nicht im Payload speichern
  • Kurze Gültigkeitsdauer für Tokens festlegen
  • Sichere Algorithmen für die Signatur verwenden
  • Regelmäßige Überprüfung der Token-Gültigkeit

Verwandte Begriffe