Strumenti per sviluppatori
Debugger online del token Web JSON

Decodifica JWT in linea

Esamina l'intestazione e il payload del token Web JSON. Questo strumento non convalida le firme e l'elaborazione rimane nel tuo browser.

Ingresso token JWT

Incolla il JWT di seguito per decodificare, ispezionare e verificare immediatamente.

In attesa dell'input del token Web JSON.

Decodifica intestazione

JSON
Dopo aver incollato JWT, il contenuto analizzato verrà visualizzato qui.

Decodifica carico utile

Reclami
Dopo aver incollato JWT, il contenuto analizzato verrà visualizzato qui.

Verifica della firma JWT

Seleziona
La firma verrà visualizzata qui dopo la decodifica.

Immettere il segreto da utilizzare durante l'emissione del JWT. La verifica HS256 viene eseguita in modo nativo nel tuo browser.

JWT

Come utilizzare la decodifica JWT online?

  1. Incolla il token JWT completo.
  2. Premere "Decodifica JWT" per analizzare intestazione, carico utile e firma.
  3. Quando è necessario confermare la firma, inserire il segreto e quindi utilizzare "Verifica firma".
JSON

Cos'è il token Web JSON?

JWT è un formato token comunemente utilizzato per l'accesso, la verifica API e l'autorizzazione tra servizi. Si compone di tre sezioni: Intestazione, Payload e Firma.

Il contenuto del payload può essere decodificato e letto e le informazioni sensibili non devono essere inserite nelle attestazioni JWT.

SA

JWT Verifica e sicurezza

Questa pagina supporta la verifica e la generazione della firma HS256, semplificando il controllo se il token dell'ambiente di test viene creato con lo stesso segreto.

Tutta la decodifica, la codifica e la verifica della firma JWT vengono eseguite in modo nativo nel browser.

BASE DI CONOSCENZA SEO JWT

Guida completa alla decodifica JWT online: cos'è il JSON Web Token, come verificarlo e come utilizzarlo in sicurezza

Se stai cercando "JWT Decoder", "JWT Decoder", "JSON Web Token Parsing", "JWT Verify" o "JWT Encoder", di solito significa che hai già un token e devi comprenderne rapidamente l'intestazione, il payload, il tempo di scadenza, l'algoritmo di firma e le attestazioni. Questa pagina non solo fornisce strumenti di decodifica JWT online, ma organizza anche la conoscenza di base di JWT su cui gli sviluppatori chiedono spesso.

Cos'è il JWT?

JWT è l'abbreviazione di JSON Web Token. È un formato token che utilizza JSON per rappresentare le informazioni e quindi le converte in una stringa semplificata. Viene spesso utilizzato nei siti Web di separazione front-end e back-end, nell'API delle app, nell'accesso dei membri, nell'SSO Single Sign-On, nell'autorizzazione dei microservizi e nello scambio di dati tra servizi.

La decodifica JWT non richiede una password perché l'intestazione e il payload sono solo codificati Base64URL, non crittografati. Chiunque ottenga il token può utilizzare il decoder JWT per vedere il contenuto del payload, quindi le attestazioni non possono contenere password, chiavi API o informazioni personali sensibili.

Quando utilizzare JWT?

Il caso d'uso più comune è l'autorizzazione. Dopo che l'utente ha effettuato correttamente l'accesso, il server di autorizzazione emette un JWT. Quando il front-end o l'app chiama successivamente l'API, il token viene inserito nell'intestazione dell'autorizzazione HTTP, ad esempio Autorizzazione: Bearer .

JWT è anche comunemente usato per lo scambio di informazioni. Quando due sistemi devono scambiarsi dati verificabili, le firme consentono al destinatario di confermare che i dati non sono stati alterati durante la trasmissione. L'endpoint JWKS viene comunemente utilizzato nei sistemi di grandi dimensioni per esporre le chiavi pubbliche in modo che diversi servizi possano verificare l'origine del token.

Struttura JWT in tre sezioni: intestazione, carico utile, firma

Un JWT standard è solitamente costituito da tre stringhe Base64URL separate da punti: Header.Payload.Signature. La prima sezione di Header descrive il tipo di token e l'algoritmo di firma, la seconda sezione di Payload contiene attestazioni e la terza sezione di Signature viene utilizzata per verificare l'integrità.

Le rivendicazioni registrate più comuni includono iss, sub, aud, exp, nbf, iat e jti. Una buona convalida dell'API solitamente controlla almeno exp, iss e aud.

Come funziona JWT nell'accesso e nell'API?

Il processo tipico è: l'utente accede, autorizza il server a verificare la password dell'account o il risultato dell'accesso di terze parti, quindi emette un token di accesso; il front-end allega il token di accesso alla richiesta API; l'API back-end verifica il token e restituisce i dati protetti.

JWT non è una sostituzione universale della sessione. Una volta emesso, un token può essere generalmente verificato senza controllare il database prima della scadenza. Tuttavia, è ancora necessario progettare la revoca dei token, le modifiche istantanee delle autorizzazioni e l'elaborazione del logout.

Qual è la differenza tra la convalida JWT e la verifica JWT?

La convalida JWT di solito si riferisce al controllo se il token soddisfa le regole previste, ad esempio se ha tre segmenti, se può essere decodificato, se il JSON è legale, se è scaduto, se l'emittente è corretto e se il pubblico è conforme all'API corrente.

La verifica JWT utilizzerà l'algoritmo e la chiave specificati per ricalcolare la firma, quindi confrontarla con la terza firma del token. Essere in grado di comprendere il payload non significa che il token sia affidabile; l'API ufficiale deve essere sottoposta alla verifica del sigillo e alla verifica delle dichiarazioni.

Qual è la differenza tra decodifica JWT e codifica JWT?

JWT Decode converte il primo e il secondo paragrafo del token in JSON, consentendoti di leggere l'intestazione e il payload. JWT Encode è il processo inverso: preparare Header JSON e Payload JSON, generare Signature e infine combinarli in un token completo.

Se vuoi solo vedere il contenuto del payload, non hai bisogno di un segreto; se vuoi verificare se il token è realmente emesso dal tuo sistema, devi utilizzare la chiave segreta o pubblica corretta per verificare la firma. Attualmente questa pagina supporta HS256.

Confronto delle attestazioni JWT: quali campi devo esaminare dopo la decodifica?

Quando si utilizza la decodifica JWT online, è necessario verificare anche chi ha emesso il token, a quale sistema è stato emesso, quando diventa effettivo, quando scade e se l'ambito dell'autorizzazione soddisfa i requisiti API. La tabella seguente riassume le affermazioni JWT comuni.

RichiediSignificato cineseCosa controllare durante il debug
issEmittente, emittenteChe si tratti del tuo server di autorizzazione o di un provider di identità affidabile.
sostOggetto, utente o ID entitàSe corrisponde all'utente, membro, account di servizio o dispositivo corretto.
audPubblico, pubblico simbolicoSe inviarlo all'API corrente; gli errori del pubblico spesso causano 401.
espTempo di scadenza, tempo di scadenzaSe è scaduto; notare la differenza nel timestamp Unix e nella visualizzazione del fuso orario.
nbfNon prima, tempo effettivoSe il tempo utilizzabile non è ancora raggiunto; Anche la deviazione dell'orario del server influirà su di esso.
iatEmesso a, ora di emissioneCorrisponde all'ora effettiva di accesso o al token di aggiornamento.
jtiID JWT, ID univoco del tokenSe può essere utilizzato per elenchi di revoche, registri di controllo o protezione da attacchi di riproduzione.
ambitoAmbito dell'autoritàSe esistono le autorizzazioni di lettura, scrittura, amministratore e altre autorizzazioni richieste dall'API.

Come scegliere tra HS256, RS256 e ES256?

alg nell'intestazione JWT indicherà al verificatore quale algoritmo deve essere utilizzato. HS256 è HMAC SHA-256 e sia l'emissione che la verifica utilizzano lo stesso set di segreti; RS256 utilizza la firma della chiave privata RSA e la verifica della chiave pubblica; ES256 utilizza l'algoritmo della curva ellittica.

Il backend dovrebbe specificare chiaramente l'elenco degli algoritmi consentiti per impedire agli aggressori di influenzare il processo di verifica modificando l'intestazione. Se il JWT proviene da un provider di identità, in genere ottieni il JWKS o la chiave pubblica e controlla kid, iss, aud, exp.

Errori JWT comuni e metodi di risoluzione dei problemi

I problemi più comuni riscontrati quando si utilizza JWT Decoder sono che il token non è nel formato standard a tre segmenti, la stringa Base64URL viene copiata in modo incompleto, sono presenti spazi bianchi prima e dopo, il payload non è un JSON legale o il segreto della firma viene utilizzato in modo errato. Se l'API restituisce 401 o 403, si consiglia di decodificare prima il JWT e confermare exp, aud e scope.

Elenco di controllo del debug JWT
  • Indica se il token è nel formato header.payload.signature a tre segmenti.
  • Se l'intestazione Authorization utilizza lo schema Bearer.
  • Se exp è scaduto e se l'ora del server è sincronizzata.
  • Se iss e aud sono coerenti con l'ambiente corrente.
  • Se il segreto HS256 è completamente coerente con la fine dell'emissione.
  • Se RS256/ES256 utilizza la chiave pubblica corretta e kid.
  • Se le attestazioni di autorizzazione contengono l'ambito o il ruolo richiesto dall'API.

Quali sono le differenze tra JWT, Sessione e SAML?

La sessione solitamente salva lo stato nel server o nell'archivio centralizzato e il browser salva solo l'ID della sessione; JWT inserisce parte dello stato nel token, in modo che l'API possa utilizzare la firma per verificarne l'integrità. SAML è basato su XML ed è comunemente utilizzato nell'SSO aziendale.

PianoAdatto alla situazioneCose da notare
JWTAutorizzazione API, token di accesso SSO, microserviziÈ necessario controllare la scadenza, la verifica del sigillo, la revoca e la fuga di informazioni sensibili.
SessioneSiti Web tradizionali che richiedono la disconnessione immediata o il controllo centralizzato dello statoÈ richiesto un archivio sessioni lato server e l'espansione tra servizi richiede una progettazione aggiuntiva.
SAMLIntegrazione dell'identità aziendale, sistemi SSO legacyLe strutture XML sono più grandi e le firme e le impostazioni sono generalmente più complesse.

Consiglio di sicurezza JWT: il White Hat SEO dovrebbe anche annotare chiaramente i rischi

  • Non inserire password, chiavi private, chiavi API, informazioni di pagamento o informazioni personali sensibili nell'intestazione JWT o nel payload.
  • Imposta un exp ragionevole e non rendere valido il token di accesso per un lungo periodo.
  • Gli algoritmi consentiti devono essere corretti durante la verifica del back-end e non fidarsi ciecamente dell'alg dell'intestazione.
  • Utilizzare un segreto HS256 sufficientemente lungo e casuale; non utilizzare segreti di esempio negli ambienti di produzione.
  • Controlla iss, aud, nbf, iat con le richieste di autorizzazione necessarie.
  • Evitare di inserire un elenco di autorizzazioni troppo grande in JWT per evitare di rendere l'intestazione troppo grande o causare perdite di dati.
  • I token di archiviazione front-end devono valutare XSS, CSRF, attributi dei cookie e rischi di archiviazione del browser.

Questo strumento di decodifica JWT online utilizza l'elaborazione nativa del browser: il token, il segreto, l'intestazione JSON e il payload JSON che incolli non verranno caricati sul server ToolBoy. Anche così, il principio della divulgazione minima dovrebbe essere comunque seguito quando si tratta di token di produzione reali.

JWT appare spesso nel processo di debug dell'API insieme a JSON, Base64URL, query URL, timestamp, SHA-256, UUID, regex e altri formati di dati. Puoi utilizzare lo strumento di formattazione JSON di ToolBoy, la codifica e decodifica Base64, la conversione timestamp Unix o Generatore UUID.

Per ulteriori approfondimenti, fare riferimento all'Introduzione al JSON Web Token di jwt.io e alla RFC 7519. Il contenuto di questa pagina è stato riorganizzato e riscritto in cinese, concentrandosi su debug pratico, SEO white hat e privacy nativa.

Domande frequenti sulla decodifica JWT online

La decodifica JWT online verificherà la firma?
Decodificare l'intestazione e il payload non equivale a verificare la firma; per verificare se il token è stato manomesso, inserisci lo stesso segreto ed esegui Verifica.
JWT Payload può contenere password o chiavi?
Non raccomandato. Generalmente, JWT è codificato solo Base64URL e chiunque ottenga il token può leggere il payload.
Il codificatore JWT è adatto per l'emissione ufficiale di token?
Questo strumento è adatto per lo sviluppo, il test e il debug. L'ambiente formale dovrebbe disporre di token di emissione del servizio backend e gestire correttamente i segreti o le chiavi private.