Guida

Come decodificare un token JWT e verificarne la firma

Puoi decodificare un token JWT leggendo header, payload e firma, purché contenga esattamente tre parti separate da punti. Il controllo della firma è facoltativo e richiede un segreto quando viene richiesto.

Strumento Decodificatore JWT

A cosa serve il decoder JWT

Un token JWT è composto da tre parti separate da punti: header, payload e firma. Questo strumento serve a leggere questi dati e a controllare, se richiesto, la firma usando un segreto fornito dall’utente. La decodifica mostra il contenuto strutturato, ma da sola non dimostra che il token sia autentico o integro.

Come decodificare e verificare un token

  1. Incolla il token completo nel campo di testo. Non lasciare il campo vuoto o composto solo da spazi.

  2. Verifica che il token contenga esattamente tre segmenti separati da un punto. Un numero diverso di segmenti non è supportato.

  3. Avvia la decodifica. Le prime due parti vengono decodificate come Base64URL, interpretate come JSON UTF-8 e mostrate rispettivamente come header e payload. La terza parte viene decodificata come dati della firma; il testo originale della firma viene conservato anche nel risultato.

  4. Esamina i dati visualizzati. Quando header e payload contengono oggetti, possono essere riportate informazioni come algoritmo, tipo di token, emittente, soggetto, destinatario e dichiarazioni temporali standard.

  5. Se devi controllare la firma, abilita la verifica e inserisci il segreto corrispondente. La verifica è disattivata in condizioni predefinite. Se viene richiesta senza un segreto, viene saltata e viene registrata un’anomalia. Quando il segreto è presente, il controllo usa l’algoritmo indicato nell’header e restituisce un esito, ad esempio firma valida o non valida.

Non condividere il segreto insieme al token o conservarlo accanto al testo cifrato.

Come leggere il risultato

Il risultato distingue la lettura dei componenti dal controllo della firma. Header e payload leggibili indicano che le prime due sezioni hanno superato la decodifica Base64URL, UTF-8 e JSON; non equivalgono a una prova di autenticità. Un esito di verifica della firma ha significato solo quando il controllo è stato richiesto con un segreto. Se il segreto manca, l’operazione viene saltata e compare un’anomalia.

Un risultato non riuscito può dipendere da un token vuoto, da un formato con un numero di sezioni diverso da tre oppure da problemi di decodifica nelle prime due sezioni. Anche una terza sezione non vuota e non valida viene segnalata. Una terza sezione vuota, invece, non aggiunge un’anomalia relativa alla firma in questa elaborazione.

Esempio pratico

Devi controllare quali emittente e destinatario sono dichiarati in un token ricevuto da un servizio e vuoi prima leggerne il contenuto senza verificare la firma.

Incolla un token JWT completo composto da tre segmenti separati da punti e avvia la decodifica. Esamina i campi header, payload e firma, quindi osserva lo stato della verifica senza inserire un segreto.

Il risultato contiene un header JSON, un payload JSON e i dati della firma; la verifica risulta disattivata se non viene richiesta. Se viene richiesta senza segreto, compare un’anomalia e il controllo viene saltato.

Limiti

  • La decodifica non dimostra autenticità, integrità o validità del token. Il controllo della firma è separato, facoltativo e richiede il segreto corretto per produrre un esito.

Errori comuni

  • Errore: viene incollato un valore vuoto oppure un testo con più o meno di tre parti separate da punti. Correzione: inserisci il token completo e controlla il numero dei separatori prima di avviare la decodifica.

Domande frequenti

Posso decodificare qualsiasi token JWT?

Sì, se il token contiene esattamente tre segmenti separati da punti e le prime due parti possono essere decodificate come JSON UTF-8. Un token vuoto o con un numero diverso di segmenti produce un risultato non riuscito.

La decodifica conferma che il token è autentico?

No. La decodifica mostra i dati del token, ma non dimostra autenticità o integrità. Per ottenere un esito della verifica devi richiedere il controllo e fornire il segreto; senza segreto il controllo viene saltato e viene registrata un’anomalia.

Quali informazioni posso leggere nel risultato?

Quando header e payload sono oggetti, puoi trovare informazioni come algoritmo, tipo di token, emittente, soggetto, destinatario e dichiarazioni temporali standard. La disponibilità di questi dati dipende dal contenuto decodificato.

Strumento

Decodificatore JWT