In questo articolo
Cos'è un JWT?
Un JSON Web Token (JWT) è un token compatto e URL-safe utilizzato per rappresentare claim tra due parti. I JWT sono alla base dei moderni sistemi di autenticazione e autorizzazione: vengono emessi dai server dopo il login e inviati nelle successive richieste API per dimostrare l'identità dell'utente.
Un JWT è composto da tre parti codificate in Base64URL e separate da punti: l'header (algoritmo e tipo di token), il payload (claim e dati) e la firma (verifica dell'integrità). La firma viene creata tramite una chiave segreta o privata, rendendo i token resistenti alle manomissioni.
Come funziona la decodifica JWT
Decodificare un JWT rivela il suo contenuto senza verificare la firma — utile per il debug, ma non per decisioni di sicurezza.
- Decodifica dell'header — rivela l'algoritmo di firma (HS256, RS256, ecc.) e il tipo di token
- Decodifica del payload — espone tutti i claim, inclusi ID utente, ruoli, scadenza e dati personalizzati
- Verifica della scadenza — calcola se il token è scaduto in base al claim exp
Prova gratuitamente — nessuna registrazione richiesta
Decodifica un JWT Token →Quando usare la decodifica JWT
La decodifica JWT è indispensabile durante lo sviluppo di API e nei flussi di debugging.
- Debug di API — ispeziona il contenuto del token quando le richieste falliscono con errori 401 o 403
- Test di integrazione — verifica che il server di autenticazione inserisca i claim corretti nei token emessi
- Diagnosi della scadenza — controlla rapidamente se i problemi di autenticazione sono causati da token scaduti
Domande frequenti
Posso fidarmi del contenuto decodificato di un JWT?
La decodifica rivela il payload ma non verifica la firma. Non prendere mai decisioni di sicurezza basandoti sul contenuto decodificato del token senza aver verificato la firma con la chiave segreta o pubblica corretta. Il decoder di CheckTown è destinato esclusivamente all'ispezione.
Cosa non devo mai inserire nel payload di un JWT?
Non memorizzare mai informazioni sensibili come password, numeri di carte di credito o chiavi private nei payload JWT. I JWT sono codificati, non cifrati: chiunque intercetti il token può decodificarne il payload senza conoscere la chiave di firma.
Qual è la differenza tra HS256 e RS256?
HS256 (HMAC-SHA256) utilizza un'unica chiave condivisa sia per la firma che per la verifica. RS256 (RSA-SHA256) utilizza una chiave privata per la firma e una chiave pubblica per la verifica. RS256 è preferibile nei sistemi distribuiti dove molti servizi devono verificare i token senza accedere alla chiave di firma.