Vai al contenuto
SPCX Tools

Encoder JWT

Genera e firma JSON Web Token (JWT) basati su HMAC istantaneamente nel tuo browser.

Funziona localmente: i file non lasciano mai il tuo dispositivo

Caricamento strumento…

Come usare Encoder JWT

  1. 1Seleziona l'algoritmo di firma HMAC preferito (HS256, HS384 o HS512).
  2. 2Modifica il payload JSON. Usa i pulsanti rapidi per inserire l'ora corrente per i claim standard come iat ed exp.
  3. 3Inserisci la tua chiave segreta. Se il tuo sistema usa un segreto codificato in Base64, spunta la casella Base64.
  4. 4Il token firmato si aggiorna automaticamente mentre scrivi. Clicca su Copia per ottenere il JWT finale.

Un encoder JWT sicuro e locale

Questo encoder jwt permette agli sviluppatori di creare, modificare e firmare rapidamente JSON Web Token direttamente nel browser. Che tu stia sviluppando un flusso di autenticazione, testando un endpoint API o facendo il debug di un microservizio, puoi generare token validi al volo senza scrivere script personalizzati o esporre le tue credenziali a server di terze parti.

Poiché lo strumento si basa sulla Web Crypto API nativa del browser, l'elaborazione dei dati e la firma crittografica avvengono interamente sul tuo dispositivo. Il payload JSON e le chiavi segrete non vengono mai caricati, salvati o registrati. Questo approccio local-first rende sicuro firmare JWT online, anche quando si lavora con credenziali di sviluppo o staging sensibili.

Come creare un token JWT

Per creare un token JWT, ti servono tre componenti: un header (che definisce l'algoritmo), un payload (che contiene i tuoi dati) e una chiave segreta (che mette in sicurezza il token).

Inizia selezionando l'algoritmo. Questo strumento funziona come un potente generatore JWT HS256, ma supporta anche HS384 e HS512. Si tratta di algoritmi HMAC simmetrici, il che significa che viene utilizzata la stessa identica chiave segreta sia per firmare il token che per verificarlo in seguito. Più alto è il numero (es. 512), maggiore sarà la dimensione dell'hash risultante, offrendo una maggiore sicurezza crittografica a costo di una stringa del token leggermente più lunga.

Successivamente, definisci il tuo payload nell'area di testo fornita. Il payload deve essere un JSON valido. Mentre modifichi il JSON o aggiorni la chiave segreta, lo strumento ricalcola la firma in tempo reale, fornendo un feedback immediato in caso di errori di sintassi nella struttura del JSON. Una volta impostati il payload e il segreto, il token finale è pronto per essere copiato e utilizzato negli header Authorization o nei cookie della tua applicazione.

Casi d'uso comuni per la generazione di token

Avere a disposizione un generatore JWT affidabile è essenziale per lo sviluppo web moderno. Gli sviluppatori utilizzano spesso questo strumento per vari scenari di test e debug:

Test degli endpoint API: Quando si lavora con client API come Postman o Insomnia, spesso è necessario un bearer token valido per accedere alle rotte protette. Invece di avviare l'intera applicazione frontend per effettuare il login e recuperare un token, puoi generarne uno manualmente qui con l'ID utente e i ruoli esatti di cui hai bisogno.

Debug della logica di autenticazione: Se il backend rifiuta i token, crearne uno manualmente aiuta a isolare il problema. Puoi verificare se l'errore deriva da una secret key errata, da un payload malformato o da un'incongruenza nell'algoritmo di firma.

Creazione di casi limite: Testare come il backend gestisce token scaduti, claim mancanti o ruoli non autorizzati è fondamentale per la sicurezza. Qui puoi manipolare facilmente il payload JSON per creare questi casi limite e assicurarti che il server restituisca i codici di stato HTTP corretti.

Gestione dei timestamp e dei claim

I JSON Web Token utilizzano campi specifici, noti come claim, per trasmettere informazioni sul ciclo di vita del token e sull'utente che rappresenta. I claim temporali più comuni sono iat (Issued At) ed exp (Expiration Time). Entrambi richiedono un timestamp Unix, ovvero il numero di secondi trascorsi dal 1° gennaio 1970.

Calcolare questi timestamp manualmente può essere noioso durante i test. Per velocizzare il tuo flusso di lavoro, questo strumento include pulsanti di azione rapida sopra l'editor del payload.

  • Cliccando su iat = now si inserisce o aggiorna istantaneamente il campo iat con il timestamp Unix attuale.
  • Cliccando su exp = +1h o exp = +24h si calcola il timestamp futuro e si aggiorna di conseguenza il campo exp.

Questo assicura che i token generati siano immediatamente validi e non vengano respinti prematuramente dalla logica di validazione temporale del tuo server.

Gestione dei segreti in Base64

Un problema comune quando si firma un JWT online è la gestione della codifica della chiave segreta. Molti sistemi backend e tutorial consigliano di generare un array di byte sicuro e casuale per il segreto HMAC, salvandolo come stringa Base64 nelle variabili d'ambiente.

Se il server decodifica questa stringa Base64 in byte grezzi prima di firmare o verificare il token, incollare la stringa Base64 direttamente in un generatore standard produrrà una firma non valida. Il generatore tratterà i caratteri Base64 come testo normale, causando un errore di corrispondenza.

Per risolvere il problema, basta spuntare la casella Il segreto è codificato in Base64. Il tool decodificherà la stringa segreta nei suoi byte grezzi originali prima di applicare l'hash HMAC, garantendo che la firma generata corrisponda perfettamente a quella del tuo ambiente backend.

Comprendere la struttura di un JWT

Quando generi un token, l'output viene mostrato in un formato a colori per aiutarti a capirne la struttura. Un JWT standard è composto da tre parti separate da punti (.):

  1. Header (Rosso): Contiene i metadati del token, principalmente l'algoritmo di firma (es. {"alg":"HS256","typ":"JWT"}). Viene generato automaticamente in base all'algoritmo scelto e codificato in Base64-URL.
  2. Payload (Blu): I tuoi dati JSON effettivi, anch'essi codificati in Base64-URL. Questa parte è facilmente leggibile da chiunque intercetti il token, motivo per cui non dovresti mai inserire password o dati altamente sensibili nel payload.
  3. Firma (Verde): L'hash crittografico dell'header e del payload codificati, firmato utilizzando la tua chiave segreta. Questo garantisce che il token non sia stato manomesso durante la trasmissione.

Se hai già un token e vuoi visualizzarne il contenuto senza la chiave segreta, puoi incollarlo nel nostro JWT Decoder per ispezionare header e payload in totale sicurezza.

Domande frequenti

Quali algoritmi supporta questo strumento?
Questo strumento supporta attualmente gli algoritmi basati su HMAC: HS256 (HMAC con SHA-256), HS384 e HS512. Sono algoritmi simmetrici, il che significa che la stessa chiave segreta viene usata sia per firmare che per verificare il token.
La mia chiave segreta viene inviata a un server?
No. La firma crittografica avviene localmente nel tuo browser tramite la Web Crypto API. Il payload JSON e la chiave segreta non lasciano mai il dispositivo, rendendo questo metodo sicuro per generare token di test.
A cosa serve la spunta Base64?
In molti framework backend, il secret JWT viene salvato come stringa codificata in Base64 anziché in testo in chiaro. Spuntando questa casella, l'input viene decodificato in byte grezzi prima di applicare l'algoritmo HMAC, garantendo che la firma generata corrisponda esattamente a quella attesa dal server.
Come funzionano i pulsanti per gli orari?
I pulsanti per iat (issued at) ed exp (expiration) inseriscono timestamp Unix standard (il numero di secondi dal 1° gennaio 1970) nel payload JSON. Questo ti evita di dover cercare o calcolare manualmente l'epoch time attuale.
Perché il mio token risulta non valido quando provo a verificarlo sul server?
Le cause più comuni sono una chiave segreta errata, un algoritmo sbagliato o una differenza nella codifica del secret. Assicurati di usare l'esatta stringa segreta e verifica se il tuo server richiede che il secret sia decodificato da Base64 prima di firmare.