Cos'è un JWT (JSON Web Token)?
Pubblicato il 05/09/2025 · 2 min di lettura · Strumenti per sviluppatori
Daniel Okonkwo — Sviluppatore front-end e redattore Tech presso Allin
Performance web · Formati di file
Verificato su 2 fonti
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.
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?