JSON Web Token (JWT) 結構與運作架構
JSON Web Token(JWT,RFC 7519)是目前現代微服務、單一登入(SSO)與 OAuth 2.0 / OpenID Connect 生態中最廣泛採用的無狀態(Stateless)身分驗證與授權協定。
一個合法的 JWT 字串通常具有如下結構,三個區段之間以英文句點分隔:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiSm9obiBEb2UiLCJpYXQiOjE1MTYyMzkwMjJ9.4z...
1. 標頭 (Header)
描述 Token 的元數據,包含所採用的數位簽章或訊息驗證碼演算法(例如 HS256, RS256, ES256)以及 Token 的型態(通常為 JWT)。
2. 酬載 (Payload)
包含具體的業務宣告(Claims)。宣告分為三種型態:
- 註冊宣告 (Registered Claims):如
iss(Issuer),sub(Subject),aud(Audience),exp(Expiration Time),nbf(Not Before),iat(Issued At)。 - 公開宣告 (Public Claims):由 IANA 規範定義之通用屬性。
- 私有宣告 (Private Claims):前後端協商約定傳遞之業務資訊(如角色陣列
roles: ["admin"]、使用者名稱等)。
3. 簽名 (Signature)
將 Header 與 Payload 透過指定的密鑰與演算法進行雜湊加密後的防竄改校驗碼。
為什麼需要離線客戶端 JWT 調試工具?
在日常微服務開發或前端聯調時,開發者經常遇到「身分驗證失敗 (401 Unauthorized)」或「權限不足 (403 Forbidden)」問題。常見原因包含:
- Token 已過期:
exp時間戳記已逾期,需排查伺服器時間同步或 Refresh Token 機制。 - 宣告內容不符合預期:缺少特定的 Role 權限標記或使用者 ID 不正確。
- 格式錯誤:傳遞過程中遭截斷或包含多餘空格。
本工具能讓工程師在安全無虞的環境下貼上 Token,立即以可視化彩色方式檢閱各區段結構與時間狀態。
本工具的核心功能特色
- 零伺服器傳輸:所有解碼運算全由前端本地 JavaScript 完成,避免敏感 Authorization 憑證外洩。
- 時間戳記智慧轉換:自動將
exp,iat,nbf之 Unix Timestamp 轉化為易讀之本地時區時間(如2026-10-15 08:30:00)。 - 過期即時狀態警告:以醒目狀態列標記 Token 是「有效中」或是「已於 X 小時前過期」。
- JSON 排版美化:自動美化 Header 與 Payload 的 JSON 縮排,支援一鍵複製各區塊。