Guida

JWT decoder: intestazione, payload e scadenza di un token

Questo JWT decoder, che funziona anche come JWT parser online, divide un JSON Web Token in intestazione e payload e mostra entrambi come JSON indentato appena incolli il token. Le marche temporali come exp hanno accanto una data locale leggibile, e un indicatore ti dice se il token è scaduto. Controllare la firma è facoltativo. Il token viene letto nel tuo browser e non viene mai caricato.


Decodifica token JWT passo per passo

  1. Incolla il token nel campo JSON Web Token. Intestazione e payload compaiono subito: non c'è nessun pulsante da premere.
  2. Leggi gli indicatori di stato sopra il risultato: se il token è scaduto, non ancora valido o senza scadenza, e come sta la firma.
  3. Premi Copia intestazione o Copia payload per copiare quel blocco come JSON semplice. Le note sulle date non sono incluse nella copia.
  4. Premi Cancella per svuotare il campo e passare a un altro token.

Puoi incollare il token così com'è: un «Authorization: Bearer» iniziale, le virgolette attorno e gli a capo vengono rimossi, quindi va bene copiare da un'intestazione di richiesta, da una riga di log o da una risposta JSON. Il campo accetta fino a 100.000 caratteri. Numeri grandi e testi in altre lingue nei claim sono mostrati esattamente, e i valori lunghi vanno a capo.

Cosa contengono intestazione e payload

Un JWT è fatto di tre parti base64url unite da punti: header.payload.signature. Le prime due sono JSON solo codificato, ed è per questo che un JWT si può decodificare senza alcun secret. Ecco i claim più comuni:

L'intestazione di solito contiene alg (l'algoritmo di firma), typ e a volte kid, l'ID della chiave che ha firmato.

Controllare la scadenza di un JWT

exp, iat, nbf e auth_time sono timestamp Unix in secondi. Lo strumento scrive ognuno come data e ora locali accanto al numero, così puoi leggerlo senza convertirlo. Gli indicatori sopra il risultato usano l'orologio del tuo dispositivo:

Verificare la firma con un secret o una chiave pubblica

Decodificare mostra cosa dice un token; solo la firma dimostra che non è stato modificato. Sotto il risultato trovi Verifica la firma (facoltativo). Lascia Algoritmo sul rilevamento automatico, che legge alg dal token, oppure sceglilo tu: HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 o EdDSA. Poi incolla una chiave in Secret o chiave pubblica:

L'indicatore passa a Firma valida o Firma non valida. Senza chiave resta su Firma non verificata. Un token che dichiara alg none mostra Nessuna firma: questo token non è firmato. Se incolli una chiave privata, lo strumento la rifiuta e chiede quella pubblica, l'unica necessaria per verificare. Il controllo usa la WebCrypto del tuo browser; EdDSA richiede un browser recente.

Quando un token non si decodifica

L'errore compare sotto il campo e indica la parte in difetto:

È sicuro incollare qui un token?

Il token e le chiavi vengono decodificati e controllati sul tuo dispositivo. Non viene caricato nulla, non viene salvato nulla e non serve un account. Un token di accesso ancora attivo resta comunque una credenziale, quindi quando puoi usa token scaduti o di prova.

Questo strumento legge e controlla solo i token. Non crea né firma un JWT e non decifra un JWE.


Domande frequenti

Si può decodificare un JWT senza il secret?

Sì. Intestazione e payload di un JWT sono solo codificati in base64url, non cifrati, quindi chiunque abbia il token può leggerli. Incollalo nel campo «JSON Web Token» e compaiono entrambi subito. Il secret o la chiave pubblica servono solo a controllare la firma, che qui è facoltativa.

Come capire se un JWT è scaduto?

Incolla il token e leggi l'indicatore sopra il risultato. Dice da quanto è scaduto o quanto tempo resta, in base al claim exp. Un token senza claim exp mostra «Nessuna scadenza: il token non ha il claim exp», e se nbf è ancora nel futuro l'indicatore segnala che non è ancora valido.

Come convertire il valore exp di un JWT in una data?

Non serve convertirlo. exp è un timestamp Unix in secondi, e lo strumento scrive accanto la data e l'ora locali corrispondenti nel blocco «Payload». Lo stesso vale per iat, nbf e auth_time.

Come verificare la firma di un JWT con una chiave pubblica?

In «Verifica la firma (facoltativo)» lascia «Algoritmo» sul rilevamento automatico o scegli quello usato dal token, e incolla la chiave pubblica in «Secret o chiave pubblica». Vanno bene una chiave PEM (-----BEGIN PUBLIC KEY-----), una RSA PUBLIC KEY, un certificato X.509, un JWK o un JWKS. L'indicatore passa poi a «Firma valida» o «Firma non valida».

Posso decodificare un token JWT in locale, senza inviarlo a un server?

Sì, è così che funziona questo strumento. Il token viene diviso, decodificato e controllato nel tuo browser, senza caricare né salvare nulla. I controlli della firma usano la WebCrypto del browser, quindi né il token né la chiave vengono inviati altrove.

Cosa c'è nell'intestazione e nel payload di un JWT?

L'intestazione descrive il token: di solito l'algoritmo di firma (alg), il tipo (typ) e a volte l'ID della chiave (kid). Il payload contiene i claim, per esempio chi l'ha emesso (iss), a chi si riferisce (sub), a chi è destinato (aud) e quando scade (exp). Entrambi sono JSON semplice e compaiono nei blocchi «Intestazione» e «Payload».

Cosa significa alg none in un JWT?

Significa che il token si dichiara non firmato: la parte della firma è vuota e non c'è nulla da controllare. Lo strumento mostra «Nessuna firma: questo token non è firmato». Un server non dovrebbe mai accettare un token così come prova di identità.

Come si fa con un bearer token?

Se è un JWT, incollalo così com'è. Un «Authorization: Bearer» iniziale, le virgolette e gli a capo vengono rimossi per te, quindi puoi copiare direttamente da un'intestazione di richiesta o da un log. Un bearer token opaco che non ha tre parti separate da punti non si può decodificare, e lo strumento dice quante parti ha trovato.

Posso decifrare un JWE o creare e firmare un JWT qui?

No. Un token con cinque parti è un JWE e il suo contenuto è cifrato, quindi non si legge senza la chiave privata; lo strumento lo riconosce e lo segnala invece di mostrare un errore. Non genera, non firma e non modifica nemmeno i token: li legge e li controlla soltanto.

Consigliati

Aiuta a mantenere gratuiti gli strumenti. ✨

Le immagini sono solo a scopo illustrativo. In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei.