JWT 解碼器

貼上 JSON Web Token,即可以格式化的 JSON 檢視其 header 和 payload。exp、iat 和 nbf 等時間戳記會轉為易讀日期,過期的權杖也會特別標示。

JWT 的結構

JWT 由點號分隔成三個部分:header.payload.signature。header 與 payload 是以 Base64URL(不補齊)編碼的 JSON 物件。signature 則是使用 header 中指定的演算法(alg),例如 HS256 或 RS256,對前兩部分計算而得。

註冊聲明

聲明(Claim)意義
iss簽發者
sub主體(通常是使用者 ID)
aud受眾(aud)
exp到期時間(自 1970 年起的秒數)
nbf在此之前無效
iat簽發時間
jti唯一權杖 ID

用 JavaScript 解碼 JWT

const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
  Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p));

常見問題

在這裡貼上我的 JWT 安全嗎?

解碼完全在您的瀏覽器中進行,不會傳送任何資料到伺服器。即便如此,仍請將正式環境的權杖視為機密。

解碼時會驗證簽章嗎?

不會。JWT 只是 Base64URL,任何人都能解碼。驗證需要密鑰或公鑰,且必須由您的伺服器執行。

相關工具與指南

留言 (0)

對「JWT 解碼器」有問題、想法或發現錯誤嗎?歡迎留言、為工具評分或回覆他人。

目前還沒有留言,歡迎搶先分享您的意見!

發表留言

為此工具評分:
Esc
↑ ↓ 移動↵ 開啟Esc 關閉