Decodificatore JWT
Incolla un JSON Web Token e leggi header e payload come JSON formattato — con le scadenze tradotte in date leggibili. Completamente offline.
1.160 visualizzazioni
Impossibile decodificare — incolla un JWT in tre parti separate da punti.
La firma NON viene verificata: una decodifica riuscita non significa che il token sia autentico.
Come Funziona
Un JSON Web Token è una stringa compatta composta da tre parti codificate in Base64URL unite da punti: header.payload.signature. Base64URL è una variante di Base64 sicura per gli URL che sostituisce +// con -/_ ed elimina il padding finale =, così il risultato può stare dentro un URL o un header HTTP senza bisogno di escaping. L'header è un piccolo oggetto JSON che indica l'algoritmo di firma e il tipo di token — tipicamente {"alg":"HS256","typ":"JWT"}. Il payload è un oggetto JSON di "claim": coppie chiave/valore arbitrarie che descrivono chi rappresenta il token e cosa è autorizzato a fare, più alcuni claim temporali registrati — iat (emesso il), nbf (non valido prima di) ed exp (scadenza), tutti memorizzati come timestamp Unix. La firma viene calcolata sulle prime due parti usando l'algoritmo indicato nell'header e una chiave posseduta solo dal server emittente.
Incolla qui un token e lo strumento lo divide nei suoi due punti, decodifica header e payload in Base64URL e stampa ciascuno come JSON indentato. Eventuali valori exp/iat/nbf vengono inoltre convertiti in una data leggibile, con un badge che mostra a colpo d'occhio se il token è attualmente scaduto.
I JWT sono la spina dorsale della maggior parte dei sistemi di autenticazione moderni: i token di accesso OAuth 2.0, i token ID di OpenID Connect e i sistemi di sessione personalizzati usano tutti questo formato perché permette a un server di emettere una credenziale autosufficiente che altri servizi possono leggere senza un'interrogazione al database — purché possano verificarne la firma. Gli algoritmi comuni sono HS256 (HMAC a chiave condivisa) e RS256/ES256 (firme asimmetriche RSA o a curva ellittica, dove l'emittente conserva una chiave privata e chiunque può verificare con la chiave pubblica corrispondente).
Cosa Dovresti Sapere
Decodificare non significa verificare. L'header e il payload sono solo codificati, non cifrati, quindi chiunque può leggerli senza una chiave — e chiunque può anche falsificare un token con i claim che preferisce. Ciò che rende un JWT affidabile è esclusivamente la sua firma, e verificare una firma richiede il segreto (algoritmi HMAC) o la chiave pubblica dell'emittente (algoritmi RSA/ECDSA). Questo controllo spetta a un server che possiede la chiave; non può essere eseguito in sicurezza dentro uno strumento nel browser, perché esporre lì un segreto ne vanificherebbe lo scopo. Considera questo decodificatore esclusivamente come un aiuto per il debug — mai come prova che un token sia autentico o ancora valido.
Gestisci anche con attenzione ciò che incolli: un JWT trasporta dati di sessione o di autorizzazione, quindi trattalo come una password ed evita di incollare token di produzione reali in qualsiasi strumento su una macchina condivisa. I token con cinque parti separate da punti sono JWE (cifrati), non JWS (firmati) — questo decodificatore gestisce la variante firmata, molto più comune. E non fidarti mai ciecamente del campo alg nel tuo codice di verifica — un attacco noto induce le implementazioni ingenue ad accettare alg: none o a scambiare RS256 con HS256, motivo per cui la verifica della firma deve avvenire in librerie collaudate e non in codice scritto a mano.
Domande Frequenti
La decodifica verifica che il token sia valido?
No — la decodifica legge solo il contenuto. La verifica della firma richiede il segreto di firma o la chiave pubblica e spetta al tuo server. Chiunque può creare un token con qualsiasi payload; solo la firma dimostra l'autenticità.
È sicuro incollare qui un token di produzione reale?
Lo strumento non trasmette mai il token — la decodifica è locale. Tuttavia tratta i token di produzione come password: preferisci token scaduti o di test quando fai debug in ambienti condivisi.
Perché il mio token non si decodifica?
Controlla di aver copiato tutte e tre le parti separate da punti e che non siano stati introdotti a capo. I token cifrati (JWE, cinque parti) non possono essere letti senza la chiave — questo strumento gestisce i token firmati JWS, il tipo più comune.
Qual è la differenza tra un token JWS e un token JWE?
JWS (JSON Web Signature) è il formato firmato che questo strumento decodifica — tre parti, leggibili ma a prova di manomissione. JWE (JSON Web Encryption) ha cinque parti e il payload stesso è cifrato, quindi non può essere letto affatto senza la chiave di decifrazione; se il tuo token non si decodifica qui e ha quattro punti invece di due, molto probabilmente è un JWE.
Cosa significano i claim exp, iat e nbf?
Tutti e tre sono timestamp Unix (secondi dal 1970-01-01). iat registra quando il token è stato emesso, nbf indica il momento più precoce in cui diventa valido, ed exp indica il momento in cui smette di essere valido. Un server che si comporta correttamente rifiuta qualsiasi token in cui l'ora corrente cade fuori dalla finestra nbf-exp.
Strumenti Simili
Segnala un Problema
Decodificatore JWT
Commenti
Ancora nessun commento — scrivi il primo!