JWT-Generator

JWT generieren

Erstellen und signieren Sie ein JWT direkt in Ihrem Browser. Geben Sie die Payload-Ansprüche (Standard sub, aud, exp usw. plus alles Benutzerdefinierte) ein, wählen Sie den Algorithmus (HS256 mit einem gemeinsamen Geheimnis oder RS256/ES256 mit einem privaten Schlüssel) und das Tool erzeugt das dreiteilige Token. Nützlich für lokale Entwicklung, Lasttests und zur Reproduktion von Authentifizierungsproblemen.

So generieren Sie ein JWT

  1. 1

    Schreiben Sie die Payload

    Standardansprüche (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) plus alle benutzerdefinierten, die Ihre App erwartet.

  2. 2

    Wählen Sie den Algorithmus

    HS256/384/512 mit einem gemeinsamen Geheimnis oder RS256/ES256 mit einem privaten Schlüssel im PEM-Format.

  3. 3

    Geben Sie den Schlüssel an

    Gemeinsamer Geheimtext für HMAC oder fügen Sie den privaten Schlüssel für RSA/ECDSA ein. Beide bleiben in Ihrem Browser.

  4. 4

    Generieren

    Die Ausgabe ist das signierte Token. Kopieren Sie es, verwenden Sie es in Tests, decodieren Sie es mit dem JWT-Decoder zur Inspektion.

Typische Payload für ein authentifiziertes Benutzertoken

{
  "iss": "https://auth.example.com",
  "aud": "api.example.com",
  "sub": "user_12345",
  "iat": 1713398400,
  "nbf": 1713398400,
  "exp": 1713402000,
  "jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
  "scope": "read:profile write:posts"
}

Algorithmuswahl: HMAC vs asymmetrisch

Algorithmus Schlüsseltyp Einsatz bei
HS256 256-Bit gemeinsames Geheimnis Monolith, der sich selbst signiert und verifiziert
HS384/512 Längeres Geheimnis Dasselbe wie HS256, stärker
RS256 RSA 2048+ Aussteller signiert, viele Dienste verifizieren mit öffentlichem Schlüssel
ES256 ECDSA P-256 Dasselbe wie RS256, aber kleinere Signaturen
EdDSA Ed25519 Schnellste asymmetrische Verifizierung, kleinste Schlüssel

Schlüsselsicherheit

  • HMAC-Geheimnisse müssen mindestens so viel Entropie haben wie die Ausgabedimension des Algorithmus. HS256 benötigt 256 zufällige Bits (32 Bytes); weniger ist bruteforcebar.
  • RSA-Schlüssel sollten mindestens 2048 Bit haben; 3072 oder 4096 für langlebige Tokens.
  • ECDSA (ES256) bietet vergleichbare Sicherheit zu RSA 3072 mit viel kleineren Schlüsseln und schnellerer Signierung.

Ablaufrichtlinien

Token-Typ Typische exp-Dauer
Zugriffstoken 5 - 60 Minuten
Aktualisierungstoken Tage bis Wochen
Passwortzurücksetzung 5 - 15 Minuten
E-Mail-Verifizierung 24 Stunden
Dienst-zu-Dienst 1-5 Minuten (kurz)

Kurze Ablauffrist + Aktualisierungstoken ist das moderne Muster. Langlebige Zugriffstoken sind schwer zu widerrufen, wenn sie kompromittiert sind.

Häufige Fehler

  • Wiederverwendung eines Testgeheimnisses in der Produktion. Der Generator kennzeichnet HS256-Geheimnisse und das ausgegebene JWT als nur für Tests, wenn das Geheimnis schwach aussieht. Vertrauen Sie dieser Warnung.
  • Signieren ohne exp. Ein JWT ohne Ablauf ist für immer gültig. Setzen Sie immer exp, es sei denn, Sie haben einen sehr guten Grund und eine Widerrufsliste.
  • Verwendung des alg aus dem Header beim Verifier. Whitelisten Sie immer Algorithmen auf der Verifizierungsseite; folgen Sie nicht dem, was das Token verlangt.
  • Einen echten privaten Schlüssel hier einfügen. Dieser Generator läuft in Ihrem Browser, aber behandeln Sie private Schlüssel als Geheimnisse: Verwenden Sie Testschlüssel, keine Produktionsschlüssel.

Häufig gestellte Fragen

Nein. Die Signierung erfolgt in Ihrem Browser mit der Web Crypto API. Schlüssel verlassen niemals Ihren Computer. Für Produktionsschlüssel sollten Sie jedoch in einer kontrollierten Umgebung generieren und signieren, nicht im Browser.

HS256 ist in Ordnung für einen Monolithen, bei dem derselbe Dienst signiert und verifiziert. RS256 oder ES256 ist besser, wenn der Aussteller vom Verifier getrennt ist, öffentliche Schlüssel können geteilt werden, ohne den Signierschlüssel offenzulegen.

Kurz. 5-15 Minuten für Zugriffstoken sind typisch. Verwenden Sie ein Aktualisierungstoken mit einer längeren Lebensdauer für nahtlose UX. Geben Sie niemals JWTs ohne einen exp-Anspruch aus.

Das Tool unterstützt das Ausgeben von alg: none für gezielte Tests von fehlerhaften / unsignierten Tokens mit einer deutlichen Warnung. Akzeptieren Sie solche Tokens niemals im Produktionscode.

Verwandte Tools

Tool in anderen Sprachen verfügbar