無需上傳, 100% 本機處理, 無需帳戶

JWT 解碼器

貼上 JWT 以查看其標頭、酬載和到期時間。不會傳送任何權杖。簽名不予驗證,僅供檢視使用。

JWT 解碼器 的運作方式

JWT 解碼器將 JSON Web Token 拆分為三個部分(標頭、負載和簽章),並以格式化 JSON 顯示標頭和負載。解碼在瀏覽器中透過 base64url 解碼每個部分在本機完成;你的令牌永遠不會傳送到任何伺服器。工具不執行簽章驗證;它只顯示令牌聲明中的內容。

這個區別對安全性至關重要:看到解碼後的 JWT 告訴你它包含哪些聲明(使用者 ID、到期時間、角色、範圍),但不能確認令牌是由合法機構發出或未被篡改。簽章驗證需要發行者的公鑰或共用密鑰,而你永遠不應該將這些貼入公開工具中。此解碼器僅供檢查和偵錯使用。

JWT 解碼器 的分步使用說明

  1. 將完整的 JWT 字串(三個以點分隔的 base64url 段)貼入輸入欄位。
  2. 標頭和負載部分立即以格式化 JSON 顯示。
  3. 查看負載中的「exp」欄位以查看到期時間戳記(Unix 紀元秒)。
  4. 簽章段按原樣顯示;這個工具不對其進行驗證。

常見使用情境

  • 偵錯身份驗證問題的開發者需要讀取 JWT 中的聲明,確認正確的範圍和角色是否存在。
  • QA 工程師檢查存取令牌的「exp」欄位,確認到期時間是否設定為預期的持續時間。
  • 安全審查員查看來自第三方服務的 JWT,以了解它在接受前編碼了哪些使用者資料。
  • 後端工程師透過檢查令牌的「aud」(受眾)聲明是否與預期的 API 識別符相符,來排除 401 錯誤。

常見問題

這個工具會驗證 JWT 簽章嗎?

不會。工具僅 base64url 解碼標頭和負載段,以 JSON 格式顯示其內容。簽章驗證需要發行者的秘密金鑰或公鑰,你不應該將其貼入此處。看起來有效的解碼負載仍然可能具有無效的簽章;始終使用可信的 JWT 程式庫在伺服器端驗證簽章。

我貼入的 JWT 令牌會傳輸到任何伺服器嗎?

不會。解碼是對 atob(或對原始位元組使用 TextDecoder)的三次呼叫,完全在瀏覽器的 JavaScript 引擎中執行。你在這裡貼上的任何內容都不會離開你的瀏覽器分頁。這是查看包含私人使用者聲明的 JWT 的唯一安全方式:完全本機,無網路請求。

標頭、負載和簽章段有什麼區別?

JWT 有三個以點分隔的 base64url 編碼段。標頭標識用於簽署令牌的演算法(例如 HS256 或 RS256)。負載包含聲明:關於主體的事實和額外的中繼資料(到期時間、發行者、受眾、自訂聲明)。簽章是從標頭和負載使用發行者的金鑰計算的加密值;它使接收方能夠驗證令牌未被更改。

負載中的「exp」是什麼意思?

「exp」聲明是令牌的到期時間,以 Unix 時間戳記(自 1970 年 1 月 1 日 UTC 起的整數秒)表示。如果目前時間大於「exp」,令牌已過期,應被任何驗證它的伺服器拒絕。工具顯示原始數值;你可以使用此網站上的時間戳記工具轉換它。已過期或有效的標記是將這個數值與你自己裝置的時鐘比對得出的,因此時間設定錯誤的裝置也會判斷錯誤。這只是參考指標,絕不能取代真正驗證簽章的伺服器。

我可以用這個工具解碼不透明或參考令牌嗎?

不行。不透明令牌(有時稱為參考令牌)是本身不攜帶任何使用者資料的隨機字串;必須將其傳送到發行者的自省端點才能取得相關的聲明。這個工具只適用於標準三段格式的自包含 JWT。