Il decoder JWT divide un token Web JSON nei suoi tre segmenti separati da punti, Base64url-decode l'intestazione e il carico utile e rende entrambi i JSON formattati. I JWT non sono crittografati - la "codifica" è solo base64url, una trasformazione reversibile, quindi chiunque abbia un token può leggere ogni affermazione al suo interno. Questo strumento rende l'ispezione istantanea: incolla un token da un'intestazione del cookie set, un'intestazione di autorizzazione (il prefisso del portatore viene rimosso automaticamente) o il dashboard del tuo provider di autenticazione e guarda esattamente cosa ha inserito il tuo server.
La tabella delle attestazioni è dove effettivamente avviene il debug. Reclami di tempo registrati - exp (scadenza), IAT (rilasciati a) e NBF (non prima) - sono timestamp unix, inutili da leggere RAW. Il decoder converte ciascuno in una data umana e un tempo relativo ("scaduto 3 ore fa", "scade in 14 minuti") e i flag scadono i token in rosso. La maggior parte degli incidenti "401 non autorizzati, ma il token sembra a posto" si riduce a un'EXP scaduta, un NBF distorto dall'orologio o un'affermazione AUD che non corrisponde a ciò che l'API convalida, tutto visibile qui in due secondi.
Una cosa che questo strumento non fa deliberatamente: verificare le firme. La verifica richiede la firma segreta (HS256) o la chiave pubblica (RS256/ES256) e uno strumento lato client che ti chiede di incollare un segreto HMAC sarebbe insegnare cattive abitudini. La decodifica è al 100% dal lato client: il token non lascia mai il browser, non colpisce nessun server e non viene visualizzato in nessun registro di richiesta, il che conta perché una produzione in diretta JWT è una credenziale al portatore. Chi l'ha, sei tu.
Rilascia il JWT nell'area di input. Afferralo dall'intestazione di autorizzazione nella scheda Rete del tuo browser DevTools, un cookie, un localStorage o una risposta di ricciolo. Un prefisso "portatore" e gli spazi bianchi circostanti vengono rimossi automaticamente, quindi puoi incollare l'intero valore dell'intestazione senza pulizia.
Entrambi i segmenti vengono visualizzati come JSON formattato fianco a fianco. L'intestazione ti dice l'algoritmo di firma (ALG: RS256, HS256, ecc.) e Key ID (Kid) — utile quando la tua rotazione JWKS si comporta male. Il payload contiene le attestazioni: sub, ISS, AUD, ambiti, ruoli e qualsiasi dato personalizzato aggiunto al tuo livello di autenticazione.
Le rivendicazioni temporali (exp, IAT, NBF) vengono decodificate da unix secondi in date leggibili con orari relativi. Un'exp scaduta mostra in rosso esattamente quanto tempo fa è scaduto; uno valido mostra in verde con il tempo rimanente. Se NBF è in futuro, di solito distorce l'orologio tra i tuoi server, il token verrà rifiutato anche se "sembra" a posto.
Questo strumento non controlla mai la firma, che richiede la chiave segreta o pubblica e appartiene al tuo server, non in uno strumento browser. Non trattare mai le affermazioni decodificate come input affidabili: un utente malintenzionato può coniare un token con qualsiasi carico utile desiderato. Solo una firma verificata dimostra che le affermazioni provenivano dall'emittente non modificato.
Decodifica Base64URL in puro dattiloscritto: entrambi i segmenti JSON formattati e leggibili immediatamente
Rivendicazione EXP contrassegnata in rosso quando è scaduta, verde quando valida, con un tempo relativo esatto in entrambi i casi
Exp, IAT e NBF convertiti da secondi Unix grezzi a date ISO e fraseggio in stile "3 ore fa".
Incolla l'intera intestazione di autorizzazione - "portare" e gli spazi bianchi vaganti vengono rimossi automaticamente
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
Encode and decode text to/from Base64 format
Convert between Unix timestamps and human-readable dates
Format, validate, and minify JSON data
0 comments
No comments yet. Be the first to share your thoughts!