JWT 解碼器
在瀏覽器中本地解碼 JWT header 與 payload。查看 claims、過期時間、issuer 與時間戳,不必將 token 傳送到任何地方。
你剛測試了JWT 解碼器 — 試試 JSON 格式化 / 驗證器 →
什麼是 JWT 解碼器?
JSON Web Token(RFC 7519)由三個以點號分隔的 Base64URL 編碼片段組成:header.payload.signature。標頭聲明簽名演算法(alg: HS256、RS256、ES256 等)和令牌類型。酬載攜帶聲明 — 註冊聲明(iss、sub、aud、exp、iat、nbf、jti 見 RFC 7519 §4.1)、公開聲明(IANA 註冊的名稱如 email、name)和私有聲明(應用程式定義的任何自訂欄位)。簽名是使用驗證者知道的金鑰對串聯 header.payload 字串的 HMAC 或 RSA/ECDSA。此解碼器只在本地讀取標頭和酬載 — 它不驗證簽名,因為驗證需要祕密或公鑰,而將其任一貼到網路工具中會違反其目的。解碼 ≠ 驗證:看起來有效的 JWT 可能有偽造的簽名、過期的 exp,或某些粗心程式庫接受的 alg: none 標頭(2015 年 alg: none 漏洞仍在審計中出現)。在整合工作期間使用此解碼器進行檢查,絕不要作為授權請求前的閘門。
如何使用 JWT 解碼器
將完整令牌(三個以點號分隔的片段)貼到輸入中。工具在點號處分割、Base64URL 解碼每個片段,並將標頭和酬載呈現為格式化的 JSON。iat、nbf 和 exp 等數字聲明(Unix 秒數,自 1970 年起)會轉換為 ISO-8601 日期及原始值。狀態橫幅報告過期(now > exp)、尚未有效(now < nbf)或活動。如果解碼失敗,錯誤會指出哪個片段格式不正確 — 通常是複製貼上時截斷的令牌、缺少字元的 Base64URL 字串,或不小心貼上了不透明的工作階段 ID 而非 JWT。使用複製來抓取任一片段的 JSON,以便在 jq、Postman 或 IDE 中進一步檢查。簽名片段顯示為原始 — 驗證刻意超出範圍。
為什麼 JWT 檢查很重要
當認証失敗時,第一個檢查步驟總是令牌:存在哪些聲明、已過期嗎、aud 是否與預期的 API 相符、iss 是否來自正確的授權伺服器、用戶端是否請求了正確的 scope。沒有本地解碼器,開發者會將生產令牌貼到隨機線上網站 — 每次貼上都是潛在的憑證洩露給擁有該網站日誌、分析或後端的任何人。本地 Base64URL 解碼可停止洩露。除了除錯,JWT 素養對安全審查很重要:發現 alg: none 令牌、注意 exp 未來多年,或在酬載中捕捉到意外的角色聲明,使用解碼器只需數秒,否則需要數分鐘。JWT 是持有者令牌 — 擁有即是授權。在檢查期間謹慎處理它們的衛生與謹慎對待生產資料庫憑證的衛生相同。
常見問題
會驗證 JWT signature 嗎?
不會。此工具只會在本地解碼 header 和 payload,不會驗證 signature,也不會信任 token。
為什麼不直接用 jwt.io?
TeaFun 強調隱私優先。您的 token 只會留在瀏覽器中,不會被上傳處理。
會顯示哪些時間?
如果 token 內有 exp、iat、nbf,工具會將 Unix timestamp 轉為易讀的 ISO 日期時間。
把這個工具放進更大的流程裡
這些集合會把常見的後續工具與指南整理成同一條工作路徑。
瀏覽相同標籤
前往其他擁有相同工作流程、格式或用途的工具。