DevToolPal
繁

JWT 解碼

解碼 JSON Web Token,讀取標頭和酬載,並檢查它的簽發時間與到期時間。

本機處理,不會上傳

編碼後的權杖

0 字元 · 0 B

結果

結果會顯示在這裡

功能簡介

JSON Web Token(JWT)是一個以點號分成三個部分的精簡字串:寫明簽章演算法的 標頭、包含使用者或工作階段相關宣告的 酬載,以及 簽章。JWT 用於登入工作階段、OAuth 2.0 存取權杖和 OpenID Connect ID 權杖。

標頭和酬載只經過 Base64URL 編碼,並沒有加密。這個工具會把它們解碼成易讀、格式化的 JSON,並解釋標準的時間宣告,讓你看清權杖屬於誰、帶有哪些權限,以及是否已經過期。

使用方法

  1. 把權杖貼到 編碼後的權杖。從 Authorization 標頭複製時開頭的 Bearer 會自動移除。
  2. 查看狀態標籤:未過期、已過期、尚未生效 或 沒有到期時間。
  3. 檢查簽發時間、生效時間和到期時間,會以你的本地時間和 Unix 秒數顯示。
  4. 用 複製 按鈕複製格式化後的標頭或酬載 JSON。

範例

範例權杖的標頭和酬載如下:

{ "alg": "HS256", "typ": "JWT" }
{
  "sub": "1234567890",
  "name": "张三 Jane Doe",
  "roles": ["admin", "editor"],
  "iat": 1700000000,
  "exp": 4102444800
}

常見宣告

  • iss 簽發者,sub 主體(通常是使用者 ID),aud 接收對象
  • iat 簽發時間,nbf 生效時間,exp 到期時間,單位都是 Unix 秒
  • jti 唯一的權杖 ID,常用來撤銷權杖

常見問題

› 把我的權杖貼在這裡安全嗎?

權杖在你的瀏覽器中解碼,絕不會傳送到任何地方。即便如此,請像對待密碼一樣對待正式環境的權杖;任何持有有效權杖的人,在它到期前都能使用它。

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

不會。驗證需要密鑰(HS256)或簽發者的公鑰(RS256、ES256)。解碼只是讀取內容,而這些內容並沒有加密,只是經過 Base64URL 編碼。絕不要信任你的伺服器沒有驗證過的權杖中的宣告。

› 為什麼顯示「已過期」?

exp 宣告早於你裝置的目前時間。請確認你的時鐘正確,然後向簽發者重新申請權杖。

› 可以解碼加密的權杖(JWE)嗎?

不行。JWE 有五個部分,而且酬載是加密的,沒有解密金鑰就無法讀取。