Vai al contenuto
Allin

Cos'è un JWT (JSON Web Token)?

Pubblicato il 05/09/2025 · 2 min di lettura · Strumenti per sviluppatori

Daniel Okonkwo

Daniel OkonkwoSviluppatore front-end e redattore Tech presso Allin

Performance web · Formati di file

Verificato su 2 fonti

Vedi il profilo
In breve

Un JSON Web Token (JWT) è un token compatto e firmato che trasporta informazioni tra parti in tre parti Base64url separate da punti: header.payload.signature. Il payload contiene «claim» come un ID utente e una scadenza; la firma prova che il token non è stato manomesso. È leggibile da chiunque, quindi non mettere mai segreti — la firma protegge l'integrità, non la riservatezza.

Un JWT è un token compatto e firmato che trasporta identità tra servizi. Ecco le sue tre parti, l'uso per l'autenticazione e i limiti di sicurezza.

Cos'è un JWT

Un JWT è un token autonomo che un server può consegnare a un client per provare chi è, senza tenere una sessione sul server. Sembra una lunga stringa di tre blocchi separati da punti. Poiché porta i propri claim firmati, qualsiasi servizio che si fida della chiave di firma può verificarlo da solo — il che lo rende popolare per l'autenticazione stateless tra API.

Le tre parti

Diviso sui punti, un JWT ha un header, un payload e una firma, ciascuno in Base64url. L'header nomina l'algoritmo di firma e il tipo di token. Il payload contiene i claim — standard come sub (soggetto), exp (scadenza) e iat (emesso il), più campi personalizzati. La firma è calcolata su header e payload con una chiave segreta o privata, quindi manomettere uno dei due la rompe.

Come si usa

In un flusso tipico, accedi, il server firma un JWT con la tua identità e una scadenza, e lo rimanda. La tua app lo allega a ogni richiesta, di solito nell'header Authorization come token «Bearer». Il server ricontrolla firma e scadenza a ogni richiesta invece di cercare una sessione, il che scala bene su più servizi che condividono la chiave.

Note di sicurezza

Un JWT è firmato, non cifrato, quindi chiunque lo possieda può decodificare e leggere il payload — non archiviare mai password o dati sensibili lì. Verifica sempre la firma lato server e rifiuta i token scaduti; un token che non verifichi non prova nulla. Mantieni scadenze brevi e, poiché un token valido dà accesso fino alla scadenza, conservalo con cura e prevedi un modo per revocare o ruotare le chiavi.

Decoder JWTDecodifica un JWT, leggi i suoi campi e le date e verifica la firma HMAC.Prova lo strumento

Domande frequenti

Un JWT è cifrato?
No, per impostazione predefinita. Il payload è solo in Base64url e chiunque può leggerlo. La firma protegge l'integrità, non la privacy.
Posso mettere una password in un JWT?
No. Chiunque può decodificare il payload, quindi includi solo claim non sensibili come un ID e una scadenza.
Quali sono le tre parti di un JWT?
Header, payload e firma — ciascuno in Base64url e uniti da punti.

Articoli che potrebbero interessarti

Tutte le guide

Strumenti correlati

Fonti

Hai notato un errore in questo articolo?