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 解碼器」有問題、想法或發現錯誤嗎?歡迎留言、為工具評分或回覆他人。
目前還沒有留言,歡迎搶先分享您的意見!