JWT 解碼
解碼 JWT、顯示 claims 與到期時間,並可在本機驗證 HS256 簽章。
Token 不會離開瀏覽器。解碼與簽章驗證都在這個頁面完成,不會傳送到任何伺服器。
貼上 JWT 後會即時解碼;按 Ctrl/⌘ + Enter 可立即解碼。
Claims
| Claim | 值 | 說明 |
|---|
Header
Payload
簽章(Base64url)
驗證簽章(HS256 / HS384 / HS512)
先解碼 token,輸入密鑰後按「驗證」。這裡只能驗證 HMAC 演算法。
JWT 裡有什麼
JSON Web Token 由三段以點相連的 Base64url 字串組成。Header 記錄簽章演算法與 token 類型;Payload 是一個 JSON 物件,裝著各種 claims:誰簽發、給誰用、何時到期;Signature 則讓伺服器確認前兩段沒有被改過。解碼不需要任何密鑰,因為 Base64url 只是編碼而不是加密。這個解碼器會把 header 與 payload 以格式化 JSON 顯示,把 iat、exp、nbf 時間戳轉成你的本地時間並附上相對時間,讓你一眼看出 token 是否已過期。如果 token 使用 HMAC 演算法而且你知道共用密鑰,也可以直接在這個頁面用 Web Crypto 驗證簽章。
怎麼看 claims
- exp(到期)、nbf(生效)、iat(簽發)都是以秒計的 Unix 時間戳,依你裝置的時鐘判斷;伺服器通常允許幾秒誤差,所以這裡顯示剛過期的 token 可能仍被接受。
- iss 是簽發者,sub 是主體(通常是使用者 ID),aud 是預期的受眾,jti 是唯一的 token 編號;其他 claims 由各應用程式自行定義。
- 解碼不等於驗證。任何人都能讀出 JWT 的內容,只有簽章能證明它是真的。
- HS256、HS384、HS512 使用共用密鑰,所以這裡可以驗證。RS256、ES256 等以私鑰簽署、公鑰驗證,本工具不支援。
- alg 為「none」的 token 沒有簽章,應視為不可信。
隱私
Token 就是憑證,拿到它的人就能以持有者身分操作。因此這個頁面的解碼與驗證全部在本機進行,絕不傳送 token 或密鑰。