JWT Decoder
Decodifica header e payload JWT in locale.
Informazioni su questo strumento
Un JSON Web Token (RFC 7519) è composto da tre segmenti codificati in Base64url uniti da punti: header, payload e firma. JWT Decoder divide il token, decodifica i primi due segmenti in JSON, li formatta e calcola le claim relative al tempo (iat, exp, nbf) come timestamp leggibili. Le claim registrate standard (iss, sub, aud, jti) sono etichettate con il loro significato. La decodifica viene eseguita interamente nel tuo browser — il tuo token non lascia mai la pagina.
L'header ti dice l'algoritmo di firma (alg: HS256, RS256, ES256, ecc.) e l'opzionale kid (key ID). Il payload contiene le claim dell'applicazione — ID utente, ruoli, scadenza. La firma è mostrata come un blob Base64; deliberatamente non la verifichiamo su questa pagina perché la verifica richiede il segreto dell'issuer o la chiave pubblica, che non dovrebbero mai essere incollati in uno strumento di terze parti. Il token è trattato solo come dati.
Quando usare questo strumento
- Leggere un token dal tuo servizio. Ispeziona quali claim emetti effettivamente — individua rapidamente campi mancanti, audience sbagliate o default sorprendenti.
- Debug di risposte "401 Unauthorized". Verifica scadenza, issuer, audience e scope rispetto a ciò che il server si aspetta.
- Verifica di un'integrazione di terze parti. Quando un provider OAuth ti consegna un ID token, decodifica il payload per vedere quali claim utente includono.
- Individuare confusione di algoritmi. Se
algènoneo differisce inaspettatamente tra token, la tua libreria di auth è probabilmente mal configurata.
Perché non validiamo le firme
La verifica della firma JWT richiede il segreto (per gli algoritmi HMAC) o la chiave pubblica dell'issuer (per RSA/ECDSA). Incollare uno dei due in uno strumento web è un errore di sicurezza — il segreto comprometterebbe ogni token emesso; la chiave pubblica, pur meno sensibile, può comunque essere privata. Il decoder conferma la struttura e rivela le claim; per la verifica reale, usa l'SDK fornito con la tua libreria di auth (jsonwebtoken, pyjwt, jose) dentro il tuo codice.
Domande frequenti
È sicuro incollare il mio JWT qui?
Perché la firma è mostrata ma non verificata?
Cosa significa "alg: none"?
alg: none esiste nella specifica ma non dovrebbe mai apparire in produzione — è la causa principale della famosa vulnerabilità "JWT none-algorithm" dove una libreria accetta none come valido. Se lo vedi in un token reale da un servizio reale, è un bug serio.
Qual è la differenza tra exp, iat e nbf?
iat (issued-at) è quando il token è stato creato. nbf (not-before) è il primo momento in cui il token può essere usato — di solito uguale a iat ma può essere nel futuro per l'attivazione ritardata. exp (expiration) è quando il token smette di essere valido. Tutti e tre sono timestamp Unix in secondi. Un verifier ben educato controlla nbf ≤ ora ≤ exp su ogni richiesta.