Cosa mostra un decoder JWT
A JSON Web Token, o JWT, è un formato di token compatto comunemente usato in autenticazione, autorizzazione, sessioni API e flussi di identità. Un JWT di solito ha tre parti separate da punti: un header, un payload e una signature. L'header e il payload sono JSON codificati in base64url, il che significa che possono essere decodificati e letti senza una chiave segreta.
Questo decoder JWT è focalizzato sull'ispezione. Formatta l'header e il payload, estrae i claim comuni, mostra i segmenti raw e spiega i claim basati sul tempo come iat, nbf, e exp. Questo è utile quando si debugga il flusso di login, le chiamate API, gli ambienti di test, le integrazioni OAuth o i problemi di durata del token.
- Leggi l'algoritmo del token e il tipo dall'header.
- Ispeziona issuer, subject, audience e claim personalizzati del payload.
- Converti i claim NumericDate in date leggibili.
- Copia l'header decodificato, il payload decodificato o i segmenti raw del token.
La decodifica non è una verifica
Decodificare un JWT ti dice cosa contiene il token. Non prova chi lo ha creato, se il payload è stato modificato, se la signature corrisponde o se la tua applicazione dovrebbe accettarlo. La verifica della signature richiede il secret corretto, la chiave pubblica o la configurazione JWKS e deve corrispondere all'algoritmo atteso dall'applicazione.
La parte della signature è diversa dall'header e dal payload. È un valore crittografico sull'header e sul payload codificati, non un altro oggetto JSON da decodificare. Questa pagina mostra la signature nell'output dei segmenti raw quando esiste, ma non richiede chiavi di firma né verifica il valore.
Tratta questa pagina come un ispettore, non come un'autorità. Un token decodificato può ancora essere falso, scaduto, non firmato, firmato con una chiave inaspettata o rifiutato dal servizio che lo ha emesso.
Claim JWT comuni
| Claim | Meaning | Uso tipico |
|---|---|---|
iss | Issuer | Il servizio o il provider di identità che ha emesso il token. |
sub | Subject | L'utente, l'account, il client o l'entità a cui si riferisce il token. |
aud | Audience | L'API, l'app o il servizio che dovrebbe ricevere il token. |
iat | Emesso il | Quando il token è stato creato. |
nbf | Non prima di | Il token non dovrebbe essere accettato prima di questo momento. |
exp | Scade il | Il token non dovrebbe essere accettato dopo questo momento. |
Buone abitudini per il debugging
- Usa token di test ogni volta che è possibile invece dei token utente di produzione.
- Non incollare secret di firma, chiavi private o credenziali API in un decoder.
- Verifica che l'algoritmo sia quello atteso dalla tua applicazione.
- Compare
issandaudconfronta con il servizio che stai debug‑gando. - Ricorda che l'ora del browser e l'ora del server possono differire quando si esaminano problemi di scadenza.
Strumenti locali correlati
- Usa il Base64 Encoder Decoder quando è necessario ispezionare stringhe base64 ordinarie. I JWT usano base64url, quindi questo decoder JWT è ancora la scelta più sicura per i token completi.
- Usa il JSON Beautifier quando vuoi formattare gli oggetti payload copiati al di fuori del contesto del token.
- Usa il Unix Timestamp Converter quando hai bisogno di un controllo dedicato del timestamp per valori NumericDate come
iat,nbf, oexp.
Domande Frequenti
Questo decoder JWT verifica le signature?
No. Decodifica l'header e il payload in modo che tu possa ispezionarli, ma non verifica la signature né dimostra che il token è attendibile. La verifica richiede il secret dell'emittente, la chiave pubblica o la configurazione JWKS. La signature non è mostrata come pannello JSON decodificato perché è un valore crittografico, non dati di claim leggibili; questo strumento la mostra solo nell'output dei segmenti raw.
Chiunque può decodificare un JWT?
Sì, l'header e il payload sono codificati, non cifrati, a meno che il tuo sistema non usi un formato token separatamente cifrato. Non mettere secret nei payload JWT.
Cosa significa un JWT scaduto?
Se il exp claim è nel passato, un server dovrebbe normalmente rifiutare il token. Questa pagina può mostrare il timestamp, ma il server è l'autorità finale.
Perché lo strumento accetta un prefisso Bearer?
Gli sviluppatori spesso copiano i token dall'header Authorization: Bearer ... Authorization: Bearer ... lo strumento rimuove il prefisso prima di decodificare il corpo del token.