JWT
JWT 實用工具可解碼並檢查 JSON Web Token,讓你無需私密金鑰即可檢視結構、宣告與安全屬性。
使用工具
- 將 JWT 貼入輸入欄位。工具接受以句點分隔的標準三部分格式。
- 工具會自動分割標頭與酬載部分,並進行 Base64 解碼。
- 在下方三個區域檢視解碼後的輸出。
檢查不需要任何金鑰材料。簽章驗證是獨立的操作。
解碼區域
標頭
顯示演算法(alg)與金鑰 ID(kid)欄位。演算法警告會顯示於此:
| 條件 | 警告等級 |
|---|---|
alg: none | 嚴重:權杖沒有簽章 |
alg: HS256 | 提醒:對稱演算法;密鑰較弱時可被暴力破解 |
alg: RS256 或 ES256 | 無警告 |
酬載
顯示所有宣告、各自的值與推斷型別。解碼的標準宣告包括:
| 宣告 | 意義 |
|---|---|
iss | 簽發者 |
sub | 主體(通常是使用者 ID) |
aud | 受眾 |
exp | 到期時間 |
nbf | 最早生效時間 |
iat | 簽發時間 |
jti | JWT ID(唯一權杖識別碼) |
自訂宣告會顯示在標準宣告下方。
到期檢查
權杖包含 exp 宣告時,工具會將其與目前時間比較,並顯示下列其中一種狀態:
- 有效:權杖尚未到期。
- 已過期:權杖已超過到期時間,並顯示到期後經過的時間。
- 無到期時間:權杖沒有
exp宣告。
簽章
顯示原始的 Base64url 編碼簽章。除非你提供金鑰,否則工具不會嘗試驗證;此區域用於參考與確認簽章存在。
應注意的事項
- 某些函式庫會在未驗證的情況下接受
alg: none權杖。測試目標應用程式是否接受這類權杖。 - 長期有效的權杖(
exp比iat晚許多天或多年)可能表示應用程式沒有輪替權杖。 - 存放在未加密酬載宣告中的敏感資料(個人識別資訊、內部 ID、角色旗標),任何持有權杖的人都能讀取。
- 沒有
jti的權杖無法個別撤銷。