Decoder JWT: visualizza header, payload e scadenza
Decodifica istantaneamente i JSON Web Token (JWT). Visualizza header e payload in modo sicuro.
Firma
La verifica della firma richiede una chiave segreta.
Come funziona questo decoder JWT
Un JSON Web Token racchiude tre parti in un'unica stringa: header, payload e firma. Questo decoder separa un token codificato in queste tre parti, converte header e payload di nuovo in JSON leggibile ed estrae l'algoritmo, la data di emissione e la data di scadenza, così puoi esaminare un token senza scrivere codice.
Header, payload e firma
Un token è diviso in tre parti da due punti: header.payload.firma. Le prime due parti sono JSON codificato in base64url, quindi decodificarle è un'operazione reversibile, non una cifratura. L'header indica l'algoritmo di firma, il campo alg, per esempio HS256 o RS256, e il tipo di token. Il payload contiene i claim: un identificativo del soggetto, eventuali campi personalizzati e di solito iat (momento di emissione) ed exp (momento di scadenza) salvati in secondi Unix. La firma è un valore crittografico calcolato da header e payload; verificarla richiede la chiave segreta o privata che l'ha creata, quindi leggere il contenuto di un token è un'operazione diversa dal verificarne l'autenticità. Alcuni token sono firmati con alg impostato su none e hanno solo due parti, header.payload; il decoder accetta anche questa forma più breve e lascia vuoto il segmento della firma. Il base64url si distingue dal base64 comune perché usa un trattino e un trattino basso al posto del più e della barra, e di solito fa a meno del segno di uguale usato come riempimento.
Esempio pratico
Incolla un token come quello qui sotto: si separa in tre segmenti colorati, poi header e payload compaiono come JSON formattato.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3MDI5Mzg0NzU2IiwibmFtZSI6IkdpdWxpYSBSb3NzaSIsImlhdCI6MTY5NDY5MjgwMCwiZXhwIjoxNzAyNDY4ODAwfQ.TkH70N2p4MNgYrOH8LeTdsh5Ovc
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "7029384756",
"name": "Giulia Rossi",
"iat": 1694692800,
"exp": 1702468800
}
Il badge Algorithm mostra HS256, letto dall'header. Il valore iat corrisponde al 14 settembre 2023 e il valore exp al 13 dicembre 2023; poiché questa data è già passata, il badge Status mostra EXPIRED. Niente di tutto questo avviene su un server: la decodifica funziona nel browser, e lo strumento non verifica mai se la firma è autentica perché non ha accesso alla chiave che l'ha creata.