JWT-Generator-Leitfaden: Erstellung von HS256/RS256-signierten Tokens
Was ist JWT
JSON Web Token (JWT) ist ein kompaktes, in sich geschlossenes Token-Format, das weit verbreitet für Authentifizierung und Informationsaustausch verwendet wird:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDgwMDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header ↑ Payload ↑ Signature
Ein JWT besteht aus drei Base64URL-kodierten Zeichenketten, die durch
.getrennt sind.
Dreiteilige Struktur Erklärt
Header
{
"alg": "HS256",
"typ": "JWT"
}
| Feld | Bedeutung |
|---|---|
alg |
Signaturalgorithmus: HS256, RS256 usw. |
typ |
Token-Typ, immer JWT |
Payload
{
"sub": "1234567890",
"name": "John Doe",
"role": "admin",
"iat": 1700000000,
"exp": 1700008000
}
| Feld | Bedeutung | Erforderlich |
|---|---|---|
sub |
Subjekt (Benutzer-ID) | Empfohlen |
iat |
Ausstellungszeitstempel | Empfohlen |
exp |
Ablaufzeit | Erforderlich |
iss |
Aussteller | Optional |
aud |
Zielgruppe | Optional |
nbf |
Nicht vor (Gültigkeitszeit) | Optional |
Signature
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
Die Signatur stellt sicher, dass das Token nicht manipuliert wurde, aber der Payload ist standardmäßig NICHT verschlüsselt—legen Sie niemals sensible Daten darin ab!
HS256 vs RS256
| Vergleich | HS256 | RS256 |
|---|---|---|
| Algorithmustyp | Symmetrisch (HMAC) | Asymmetrisch (RSA) |
| Schlüssel | Gemeinsames Geheimnis (Zeichenkette) | Öffentlicher Schlüssel + Privater Schlüssel |
| Prüfer | Benötigt dasselbe Geheimnis | Benötigt nur den öffentlichen Schlüssel |
| Anwendungsfall | Einzeldienst, interne Mikrodienste | Mehrdienst, Drittanbieter-Verifikation |
| Schlüsselverwaltung | Einfach, aber höheres Leckrisiko | Sicherer, öffentlicher Schlüssel kann geteilt werden |
Empfehlung: Verwenden Sie HS256 für Monolithen, RS256 für Mikrodienste/offene APIs.
Verwendung des JWT-Generators
Schritt 1: Tool Öffnen
Besuchen Sie den JWT-Generator, um die Token-Erstellungsoberfläche aufzurufen.
Schritt 2: Signaturalgorithmus Auswählen
- Einzeldienst: Wählen Sie HS256 und geben Sie ein gemeinsames Geheimnis ein
- Mehrdienst: Wählen Sie RS256 und fügen Sie einen privaten Schlüssel ein
Schritt 3: Payload Ausfüllen
Fügen Sie Claims im Payload-Editor hinzu:
{
"sub": "user_10086",
"name": "John Doe",
"role": "admin",
"iat": 1700000000,
"exp": 1700008000
}
iatundexpverwenden Unix-Zeitstempel (Sekunden). Das Tool unterstützt visuelle Ablaufzeitkonfiguration.
Schritt 4: Token Generieren
Klicken Sie auf "Generieren". Das Tool automatisch:
- Base64URL-kodiert den Header
- Base64URL-kodiert den Payload
- Berechnet die Signatur mit dem Schlüssel
- Verkettet zu einer vollständigen JWT-Zeichenkette
Schritt 5: Token Verifizieren
Fügen Sie das generierte Token in den JWT-Decoder ein und bestätigen Sie:
- Header und Payload werden korrekt dekodiert
- Signaturverifikation erfolgreich
exp-Zeit ist nicht abgelaufen
Best Practices für Ablaufzeiten
| Szenario | Empfohlene exp | Grund |
|---|---|---|
| Access Token | 15-30 Minuten | Kurzlebig, reduziert Leckrisiko |
| Refresh Token | 7-30 Tage | Langlebig, zur Erneuerung |
| E-Mail-Verifizierungslink | 1-24 Stunden | Einmalige Nutzung |
| API-Key | Kein exp oder 1+ Jahr | Langzeitberechtigung |
Best Practice: Verwenden Sie den Access-Token- + Refresh-Token-Dual-Token-Ansatz.
Hinweise zur Base64URL-Kodierung
JWT verwendet Base64URL-Kodierung, die sich vom Standard-Base64 unterscheidet:
| Unterschied | Standard-Base64 | Base64URL |
|---|---|---|
+ |
+ |
- |
/ |
/ |
_ |
Padding = |
Ja | Nein |
Bei Verwendung des Base64-Kodier-/Dekodiertools stellen Sie sicher, dass Sie den URL-sicheren Modus auswählen.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
| Signaturverifikation fehlgeschlagen | Schlüssel stimmt nicht überein | Bestätigen Sie, dass Erstellung und Verifikation denselben Schlüssel verwenden |
| Token abgelaufen | exp-Zeit ist überschritten | Regenerieren oder Refresh Token verwenden |
| Payload unleserlich | Nicht mit Base64URL dekodiert | Verwenden Sie den JWT-Decoder |
| Sensible Daten offengelegt | Payload nicht verschlüsselt | Niemals Passwörter oder Geheimnisse im Payload ablegen |
| RS256-Verifikation fehlgeschlagen | Öffentlicher Schlüssel stimmt nicht überein | Bestätigen Sie, dass der öffentliche Schlüssel zum privaten Schlüssel passt |
Zusammenfassung
JWT ist eine Kerntechnologie der modernen Webauthentifizierung. Das Verständnis der dreiteiligen Struktur und des Unterschieds zwischen HS256/RS256 sowie die korrekte Konfiguration von Claims und Ablaufzeiten sind entscheidend für die sichere JWT-Verwendung. Der JWT-Generator und der JWT-Decoder ermöglichen Ihnen den vollständigen Token-Erstellungs-, Dekodierungs- und Verifikationsworkflow direkt im Browser.