JWT 除錯:拆解 Header / Payload / Signature

JWT 三段結構如何解碼,claims 怎麼看,簽名驗證的前提與安全注意(別粘生產金鑰)。

目錄

JWT 的三段結構

JWT(JSON Web Token)形如 header.payload.signature,前兩段是 Base64URL 編碼的 JSON,第三段是簽名。用 . 分割即可分別解碼檢視。

重點看 Payload 的 claims

sub 主體、iss 簽發者、exp 過期時間(Unix 秒)、iat 簽發時間。exp 過期後 token 應被拒絕。

簽名驗證的邊界

僅解碼不驗證簽名;要驗證簽名必須持有對應金鑰/公鑰,且應在服務端完成。前端除錯只做可讀性解碼。

安全注意

JWT 中不要放密碼等敏感資訊(它只是編碼不是加密),且切勿把生產金鑰貼上到不可信頁面。

常見問題

Base64URL 和普通 Base64 一樣嗎?
類似但把 + / 換成 - _ 並去掉填充 =,更適合放在 URL 中。
為什麼解碼出 exp 但頁面說已過期?
exp 是 Unix 秒,需對照當前時間;可用時間戳工具核對。
能在瀏覽器裡驗證簽名嗎?
可以持金鑰驗證,但金鑰暴露在前端有風險;生產驗證務必放服務端。
← 返回「開發者工具」內容叢集