Decodificatore JWT
Incolla un JSON Web Token per leggerne header e payload, con scadenza e orari di emissione mostrati come date vere.
Funziona interamente nel tuo browser
Firma non verificata. Questa pagina decodifica il token; non controlla che sia autentico. Chiunque può creare un token con qualsiasi contenuto.
- Algoritmo
- -
- Tipo
- -
- ID chiave
- -
- Parti
- -
Orari
| Claim | Il tuo fuso orario, poi UTC | Relativo |
|---|
Claim
| Claim | Significato | Valore |
|---|
Token fino a 1 MB. Solo decodifica: la firma viene mostrata ma non verificata.
Come decodificare un JWT
- Incolla il token nella casella. Un
Beareriniziale e gli spazi o le virgolette attorno vengono ignorati. - Leggi sotto header e payload, e gli orari di scadenza, di inizio validità e di emissione nel tuo fuso orario e in UTC.
- Copia il payload o l'header decodificato come JSON formattato se ti serve altrove.
Che cosa c'è dentro un JSON Web Token
Un JWT firmato è composto da tre pezzi di testo Base64url uniti da punti: un header, un payload e una firma. Header e payload sono semplicemente JSON scritto in Base64url, ed è per questo che chiunque può leggerli. Base64url è una codifica, non una cifratura, quindi non mettere mai segreti nel payload di un JWT, a meno che il token sia cifrato.
Il payload contiene i claim. Alcuni nomi sono registrati: iss (chi ha emesso il token), sub (a chi si riferisce), aud (a chi è destinato), exp (quando scade), nbf (non valido prima di), iat (quando è stato emesso) e jti (un ID univoco). I servizi aggiungono i propri claim, come ruoli, scope o un indirizzo email.
La firma è ciò che rende affidabili i claim, e controllarla richiede la chiave di firma, che dovrebbero avere solo l'emittente e i servizi che accettano il token. Questo decodificatore si ferma volutamente alla lettura: mostra che cosa dice un token e quando scade, che di solito è ciò che serve per fare il debug di un login o di una chiamata API.
Suggerimenti
- Converti in data qualsiasi altro tempo Unix con il Convertitore di timestamp Unix.
- Formatta o controlla un payload grande con Formatta e valida JSON.
- Decodifica a mano un singolo pezzo Base64url con Codifica e decodifica Base64.
Domande frequenti
Verifica la firma?
No. Questa pagina decodifica soltanto il token. Chiunque può creare un token con qualsiasi header e payload, quindi il contenuto mostrato qui è costituito da dichiarazioni, non da prove. Solo il servizio che possiede la chiave di firma (o la chiave pubblica, per i token RS256 ed ES256) può dire se un token è autentico, e deve controllare anche scadenza, audience ed emittente.
È sicuro incollare qui un token?
Questa pagina non invia il token da nessuna parte: viene decodificato da codice eseguito nel tuo browser e non viene conservato. Detto questo, un token di accesso attivo è una password finché è valido. Evita di incollare token di produzione in qualsiasi sito web e preferisci token scaduti o di prova quando fai debug.
Perché non riesco a leggere alcuni token?
Un token con cinque parti invece di tre è un JWT cifrato (JWE). Il suo header è leggibile, ma il payload è cifrato e si può leggere solo con la chiave del destinatario, quindi questo strumento mostra l'header e spiega le parti. Altri errori, come un numero di parti sbagliato o un testo che non è Base64url o JSON valido, vengono segnalati indicando che cosa non va.
Come vengono calcolati gli orari?
I claim exp, nbf e iat sono NumericDate: secondi dal 1° gennaio 1970 UTC. Sono mostrati nel fuso orario del tuo dispositivo e in UTC, e confrontati con l'orologio del dispositivo per dire se il token è scaduto. Se il tuo orologio è sbagliato, lo saranno anche gli orari relativi. Un valore che sembra in millisecondi viene segnalato, perché è un errore comune.
Che cosa significano alg, typ e kid?
alg è l'algoritmo di firma, come HS256 (un segreto condiviso), RS256 o ES256 (una coppia di chiavi). typ di solito è JWT. kid è l'ID della chiave usata dall'emittente, che dice a chi verifica con quale chiave controllare la firma. Un token con alg impostato su none non è firmato e non dovrebbe mai essere accettato per nulla di importante.