JWT: Vollständiger Leitfaden zu Authentifizierungstoken

JSON Web Tokens (JWT) sind ein kompakter, eigenständiger Weg zur sicheren Übertragung von Authentifizierungsdaten. Lernen Sie Struktur, Signaturalgorithmen und Sicherheits-Best-Practices kennen.

Was ist ein JWT

Ein JSON Web Token (JWT) ist ein offener Standard (RFC 7519) zur sicheren Übermittlung von Informationen als digital signiertes JSON-Objekt. Weit verbreitet für Authentifizierung und Autorisierung in Web-APIs.

Struktur eines JWT

  • Header: Token-Typ und Signaturalgorithmus (HS256, RS256…)
  • Payload: JSON-Daten über den Nutzer und die Sitzung (sub, exp, iat, Rollen…)
  • Signatur: kryptografischer Hash von Header + Payload, signiert mit einem Geheimnis oder privatem Schlüssel

Wichtig: Der Payload ist nur Base64-kodiert, nicht verschlüsselt. Speichern Sie niemals Passwörter oder sensible Daten im Payload.

Signaturalgorithmen

  • HS256: symmetrisch — gleicher geheimer Schlüssel zum Signieren und Verifizieren
  • RS256: asymmetrisch — privater Schlüssel signiert, öffentlicher verifiziert
  • ES256: asymmetrisch mit elliptischen Kurven — kürzere Schlüssel, in modernen Systemen bevorzugt

Sicherheits-Best-Practices

  • Kurze exp (15 Min.) für Access-Token
  • Separate Refresh-Token mit Rotation
  • HttpOnly + Secure + SameSite=Strict Cookies gegen XSS
  • Widerrufsliste (JTI deny-list) oder Schlüsselrotation