Generatore JWT

Genera JWT

Crea e firma un JWT direttamente nel tuo browser. Inserisci le dichiarazioni del payload (standard sub, aud, exp, ecc. più qualsiasi cosa personalizzata), scegli l’algoritmo (HS256 con un segreto condiviso o RS256/ES256 con una chiave privata) e lo strumento produce il token a tre parti. Utile per lo sviluppo locale, il test di carico e la riproduzione di problemi di autenticazione.

Come generare un JWT

  1. 1

    Scrivi il payload

    Dichiarazioni standard (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) più eventuali personalizzazioni che la tua app si aspetta.

  2. 2

    Scegli l'algoritmo

    HS256/384/512 con un segreto condiviso, o RS256/ES256 con una chiave privata in formato PEM.

  3. 3

    Fornisci la chiave

    Testo del segreto condiviso per HMAC, o incolla la chiave privata per RSA/ECDSA. Entrambe rimangono nel tuo browser.

  4. 4

    Genera

    L'output è il token firmato. Copialo, usalo nei test, decodificalo con il Decoder JWT per ispezionarlo.

Payload tipico per un token utente autenticato

{
  "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"
}

Scelta dell’algoritmo: HMAC vs asimmetrico

Algoritmo Tipo di chiave Usa quando
HS256 segreto condiviso a 256 bit Monolite che firma e verifica se stesso
HS384/512 Segreto più lungo Stesso di HS256, più forte
RS256 RSA 2048+ L’emittente firma, molti servizi verificano con chiave pubblica
ES256 ECDSA P-256 Stesso di RS256 ma firme più piccole
EdDSA Ed25519 Verifica asimmetrica più veloce, chiavi più piccole

Forza della chiave

  • I segreti HMAC devono avere almeno la stessa entropia della dimensione dell’output dell’algoritmo. HS256 necessita di 256 bit casuali (32 byte); meno è vulnerabile a brute-force.
  • Le chiavi RSA dovrebbero essere di almeno 2048 bit; 3072 o 4096 per token a lungo termine.
  • ECDSA (ES256) offre una sicurezza comparabile a RSA 3072 con chiavi molto più piccole e firma più veloce.

Linee guida sulla scadenza

Tipo di token Durata tipica exp
Token di accesso 5 - 60 minuti
Token di aggiornamento Giorni a settimane
Ripristino password 5 - 15 minuti
Verifica email 24 ore
Servizio a servizio 1-5 minuti (breve)

Scadenza breve + token di aggiornamento è il modello moderno. I token di accesso a lungo termine sono difficili da revocare quando compromessi.

Errori comuni

  • Riutilizzare un segreto di test in produzione. Il generatore contrassegna i segreti HS256 e il JWT di output come solo per test se il segreto sembra debole. Fidati di quell’avviso.
  • Firmare senza exp. Un JWT senza scadenza è valido per sempre. Imposta sempre exp a meno che tu non abbia una ragione molto valida e una lista di revoca.
  • Usare l’alg dall’intestazione sul verificatore. Sempre autorizza gli algoritmi sul lato di verifica; non seguire ciò che il token richiede.
  • Incollare qui una vera chiave privata. Questo generatore funziona nel tuo browser ma tratta le chiavi private come segreti: usa chiavi di test, non quelle di produzione.

Domande frequenti

No. La firma avviene nel tuo browser utilizzando l’API Web Crypto. Le chiavi non lasciano mai la tua macchina. Detto ciò, per le chiavi di produzione, genera e firma in un ambiente controllato, non in un browser.

HS256 va bene per un monolite dove lo stesso servizio firma e verifica. RS256 o ES256 è meglio quando l’emittente è separato dal verificatore, le chiavi pubbliche possono essere condivise senza esporre la chiave di firma.

Breve. 5-15 minuti per i token di accesso è tipico. Usa un token di aggiornamento con una vita più lunga per un’esperienza utente senza soluzione di continuità. Non emettere mai JWT senza una dichiarazione exp.

Lo strumento supporta l’emissione di alg: none per testare deliberatamente token non firmati o rotti, con un avviso evidente. Non accettare mai tali token nel codice di produzione.

Strumenti correlati

Strumento disponibile in altre lingue