什麼是JWT 解碼器?

貼上任意 JSON Web Token,即可查看解碼後的標頭、承載資料和簽章。快速檢查權杖聲明、驗證到期時間、除錯身份驗證問題。

解碼器先按點號拆分 token,再對 header 與 payload 做 Base64URL 解碼,然後當成 JSON 解析。你會看到簽章演算法(HS256、RS256、EdDSA 等)、所有保留聲明(iss、sub、aud、exp、iat、nbf、jti),以及服務端自訂的聲明。時間戳類聲明會從 Unix epoch 換算成本地時區,一眼就能看出 token 是否過期。

使用方法

  1. 將您的 JWT 權杖貼到輸入欄位中,工具會自動辨識三段 Base64 編碼的內容。
  2. 並排檢視解碼後的標頭資訊(演算法、類型)和承載內容(聲明、到期時間、簽發者)。
  3. 複製個別解碼區段或完整的解析結果。

何時使用

  • 在排查 401 錯誤時,確認 bearer token 的 exp 是否已經過去。
  • 上線前確認預發環境簽出的 token 中 aud 與 iss 是否符合預期。
  • 查看第三方 SSO 在 access token 裡塞了哪些 user_id 或 scope。

結果

您正在除錯 API 回傳的 401 錯誤。將請求標頭中的 Bearer 權杖貼進來,檢查 ‘exp’ 聲明是否已過期,或 ‘aud’ 聲明是否與預期的對象相符。

常見問題

這個工具會驗證簽章嗎?
對於 HMAC 權杖(HS256、HS384、HS512),貼上密鑰後,工具會在你的裝置上驗證簽章。對於 RS 與 ES 權杖(RS256/384/512、ES256/384/512),貼上簽發方的 PEM 公鑰即可同樣驗證。無論哪種方式,密鑰都不會離開你的裝置。
把真實生產環境的 token 貼進來安全嗎?
解碼完全在你的裝置上完成,token 不會被送到任何伺服器。但是 bearer token 任何人拿到都能冒充使用者,所以真正的風險是旁邊的人看到螢幕,而不是工具本身。
如果 alg 欄位是「none」代表什麼?
早期一些 JWT 程式庫會接受 alg=none 的未簽章 token,這是已知的攻擊向量。正式環境的 API 應該直接拒絕。如果用來認證使用者的 token 出現 none,代表設定有問題,需要立刻處理。
為什麼 exp 與 iat 顯示成數字而非日期?
JWT 規範把時間戳存成自 1970-01-01 UTC 起算的秒數。解碼器會在每個時間聲明旁邊附上本地時區的可讀日期,讓你不用心算就能判斷 token 是否已過期。
可以解析加密的 token(JWE)嗎?
JWE 採用點號分隔的 5 段,且整體經過加密,而不只是簽章。本工具支援的是 JWS(三段:header.payload.signature)。JWE 需要解密金鑰,而依設計該金鑰應僅保留在接收端伺服器。

相關工具