Decodificatore JWT
Guarda cosa contiene un JSON Web Token.
Claim
| Claim | Valore | Significato |
|---|
Questo strumento decodifica i token ma non verifica mai le firme. Il tuo token resta in questa scheda del browser.
Funziona nel browser. Quello che scrivi non viene inviato da nessuna parte.
- Date exp e iat leggibili
- Stato di scadenza a colpo d'occhio
- Il token resta sul tuo dispositivo
Come decodificare un JWT
- Incolla il token, con o senza il prefisso Bearer.
- Leggi header e payload, mostrati come JSON formattato.
- Controlla la tabella dei claim per issuer, audience e scadenza.
Le tre parti di un JWT
| Parte | Codifica | Contiene |
|---|---|---|
| Header | JSON in base64url | Algoritmo di firma (alg) e tipo di token (typ) |
| Payload | JSON in base64url | I claim: i dati veri e propri del token |
| Firma | Byte in base64url | Prova che header e payload non sono stati modificati |
Algoritmi di firma comuni
| Valore alg | Tipo | Nota |
|---|---|---|
| HS256 | Simmetrico, segreto condiviso | Comune per una singola app che emette e verifica i propri token |
| RS256 | Asimmetrico, RSA | Comune quando un'altra parte deve verificare il token, come in OAuth |
| ES256 | Asimmetrico, curva ellittica | Firme più corte di RSA a parità di livello di sicurezza |
| none | Nessuna firma | Un verificatore dovrebbe sempre rifiutare questo algoritmo |
Claim standard, dall'RFC 7519
- exp, nbf e iat sono tutti valori NumericDate: secondi interi dall'epoca Unix, mai millisecondi.
- aud può essere una singola stringa o un array di stringhe, quando un token è destinato a più di un'audience.
- jti dovrebbe essere unico per ogni token, ed è ciò che rende possibile bloccare un token specifico.
- Nessuno dei claim standard è obbligatorio. Un token può contenere solo i claim personalizzati definiti da un'applicazione.
Domande su Decodificatore JWT
Quali sono le tre parti di un JWT?
Un header, un payload e una firma, ciascuno codificato in base64url e uniti da punti. L'header indica l'algoritmo di firma, il payload contiene i claim, e la firma permette al server di verificare chi ha emesso il token.
Questo strumento verifica la firma?
No. Decodifica header e payload e non controlla mai la firma. Verifica i token sul tuo server con la chiave segreta o pubblica prima di fidartene. Il token che incolli non lascia mai il tuo browser.
Il payload di un JWT è cifrato?
Non in un normale JWT firmato. È soltanto codificato, quindi chiunque possieda il token può leggerlo, per questo password e dati privati non dovrebbero mai finirci dentro. I token cifrati (JWE) hanno cinque parti e richiedono la chiave.
Cosa significano exp, iat e nbf?
Sono orari espressi in secondi dal 1° gennaio 1970 (UTC). exp è quando il token scade, iat è quando è stato emesso, e nbf è l'istante prima del quale non deve essere accettato.
Perché il mio token risulta scaduto?
Il suo orario exp è precedente all'orologio del tuo dispositivo. Gli access token spesso durano solo da 5 a 60 minuti, quindi richiedine uno nuovo e controlla che l'orologio del tuo computer sia impostato correttamente.
Cosa definisce l'RFC 7519?
Definisce il formato JWT stesso: tre parti base64url unite da punti, e il significato dei claim standard come iss, sub, exp e aud. Non richiede alcun algoritmo di firma particolare.
Un JWT può essere revocato prima della scadenza?
Non dal token stesso, dato che è solo dato firmato. Revocarne uno in anticipo richiede supporto lato server, come una blocklist basata sul claim jti, oppure una scadenza breve abbinata a un refresh token separato.
Perché exp e iat mostrano numeri grandi invece di date?
Sono memorizzati nel token come valori NumericDate, secondi interi dall'epoca Unix (1° gennaio 1970 UTC). Questa pagina mostra il numero grezzo accanto a una data leggibile per comodità.