JWT 檢視器
解讀宣告、檢查時間與驗證公鑰簽章
輸入 Token
貼上三段式的 JWT,或開啟本機 UTF-8 文字檔。整個過程都在這個瀏覽器分頁裡完成 —— 不會送到任何伺服器,也不會寫進網址、瀏覽器儲存或 console。
只會去掉前後空白。中間的換行不會擅自移除 —— 那會改動要拿去驗簽的字串,工具不替你決定。
解碼內容
解碼不需要任何金鑰,任何人拿到這串文字都讀得到裡面的內容。所以下面看到的東西只代表「這張 Token 這樣宣稱」,還不代表它是真的。
標頭 (Header)
宣告 (Payload)
時間與常見宣告
驗簽設定
金鑰只能由你自己匯入。本工具不會去抓 jku、x5u 或 issuer 的網址,也不會把 Token 內嵌的 jwk、x5c 當成可信來源 —— 那些欄位跟 Token 本身來自同一個地方,拿它們驗等於讓 Token 自己證明自己。
精確比對:大小寫、尾端斜線與空白都算數。留空就是不檢查(不是通過)。
Token 的 aud 是陣列時,依成員逐一比對;不會把陣列串成一個字串來比。
匯入公鑰或 JWKS
支援 .pem、.der、.crt、.jwk、.jwks 檔案
或直接貼上公鑰、JWK 或 JWKS
只接受公鑰。看到私鑰標記會立刻停止解析,內容不會顯示也不會進報告。
秒
尚未匯入公鑰
檢查結果
六項各自獨立顯示,不合成一個綠燈。任何一項「未檢查」都不等於通過 —— 只代表這支工具沒有做那件事。
解碼不代表 Token 可信,伺服器接受狀態未檢查。
使用說明 6
這支工具檢查了什麼,以及它刻意不替你決定的事
簽章正確只代表「這串內容從簽發之後沒有被改過」。能不能登入、能做哪些事,是伺服器端依 session、撤銷名單與權限決定的 —— 那些這支工具看不到,所以撤銷狀態永遠顯示「未檢查」。
解碼不需要金鑰
JWT 的三段都是 base64url,任何拿到它的人都讀得出內容 —— 所以不要把祕密放進 payload。解碼成功只證明「它是這樣宣稱的」,不代表任何一項是真的。
alg=none 永遠不會判成通過
未簽署的內容誰都改得動,那不是「一種演算法」。HS256 這類 HMAC 首版只解碼不驗證 —— 驗它要正式環境的 shared secret,本站不跟你要那個東西。
金鑰只能你自己給
不抓 jku/x5u/issuer 的網址,也不採信 Token 自己內嵌的 jwk/x5c。那些跟 Token 同源,等於讓它自己證明自己。kid 對不上或有多把候選時會請你明確選一把,不默默挑第一把。
缺 exp 不等於永遠有效
生效時點看 nbf 不是 iat。NumericDate 的單位是秒,看起來像毫秒時只提示、不自動換算 —— 猜錯會讓一張過期的 Token 顯示成還有幾萬年。
iss 精確比對,aud 依成員判斷
尾斜線與大小寫都算數,`https://a.example/` 與 `https://a.example` 是兩個不同的簽發者。aud 是陣列時逐個成員比,不串成字串。
簽章通過不等於登入有效
六項檢查各自獨立顯示,不合成一個綠勾。撤銷狀態與伺服器接不接受永遠是「未檢查」—— 未檢查不等於未撤銷。