為什麼需要批次解碼器
除錯單一 token 是已解決的問題——jwt.io 做得很好,而且大家都連向它。真正耗時的是另一種形狀的工作:客戶端正在送出 300 個 token 的事件,而你需要知道哪些已經過期;一半請求因為時鐘偏移而失敗的整合;或是你懷疑某個服務仍在簽發 alg: none token 的日誌傾印。把這些一個一個貼進單一 token 除錯器就是瓶頸,而少數真的能處理批次的工具,多半是只有一個純文字區的無名單頁網站。
所以本頁是圍繞批次而建,不是圍繞單一 token:
- 狀態,不只是 JSON。 每個 token 都會被分類為有效、已過期、尚未生效(nbf 在未來)或格式錯誤,並附上原因。重複的會被合併並計數。
- 每個 token 的安全提示。 alg: none、缺少 exp(永不過期)、效期超過一年、iat 晚於 exp,以及缺少 iss/aud 都會被明確指出——這些是美化工具不會告訴你的事。
- 符合資料形狀的匯出。 對試算表而言列對齊的 CSV,對指令碼而言結構化的 JSON——不是把單一解碼結果複製貼上。
- 設計上離線,而且誠實面對這點。 HS256/384/512 簽章可以用你貼上的密鑰在本機驗證。RS/ES 驗證需要取得 JWKS,那意味著要離開瀏覽器,所以工具會拒絕,並逐 token 說明這點,而不是顯示一個它不配得到的綠色勾號。
token 會以換行、逗號、分號或空格分割,因此你可以直接從日誌檔或試算表貼上一整欄;以 # 開頭的行會被當作註解忽略。不會有任何東西被送往任何地方:沒有後端、不會對你的輸入做分析,也沒有會把 token 留在伺服器上的分享連結——這很重要,因為 JWT 是一種 bearer 憑證。