Bearer token 點樣解碼:唔洩露 token 睇 aud、exp、scope
# Bearer token 點樣解碼:唔洩露 token 睇 aud、exp、scope
**Slug:** `decode-bearer-token-claims`
**Date:** 2026-11-02
**CTA:** https://toolbookly.com/zh/jwtly
---
你喺 DevTools、Postman 或者 log 抄咗段 `Authorization: Bearer eyJhbGciOi…`,想知入面寫咗乜:俾邊個 API 用(`aud`)、邊個發出(`iss`)、邊個用戶(`sub`)、有咩權限(`scope`)、幾時過期(`exp`)。搜「bearer token decode」或者「hs256 decode」會見到一大堆貼上框。呢篇講清楚 bearer token 其實係乜、點樣睇 claims,同埋點解應該喺自己部機做——**唔上傳、唔中轉**。
Bearer token 係咪 JWT?
「Bearer」係 HTTP 認證**方式**,唔係 token 格式。意思係「邊個攞住呢段字串就有權限」,唔使額外證明。`Bearer ` 後面嗰段可以係:
快速判斷:如果有啱啱兩個點、以 `eyJ` 開頭,九成係 JWT,可以直接睇。
入面有乜:header、payload、signature
JWT 係 `header.payload.signature`:
Header 同 payload 只係 base64url 編碼,冇加密。任何人攞到 token 都睇得到。所以「解碼」唔使 key——亦因為咁,token 本身先係要保護嘅秘密。
你通常要睇嘅 claims
大部分「token 被拒」嘅 bug 都係 `aud`、`exp`/`nbf` 或者漏咗 scope。睇一睇 payload 幾秒就搵到答案。
解碼唔等於驗簽(HS256 vs RS256)
解碼令你**睇到** claims;**驗簽**先係檢查簽名:
未喺你伺服器程式碼驗證過嘅 token,claims 唔好信。解碼係用嚟 debug,唔係用嚟做授權。
點解將 bearer token 貼上網有風險
Bearer token **本身就係**憑證。未到 `exp` 之前,任何人見到都可以用嗰個用戶身份 call API。如果你貼去會將文字送上伺服器嘅 decoder,token 可能落入 request log、analytics、錯誤追蹤,或者「最近用過嘅 token」紀錄。有啲工具仲會將 token 放入網址,結果洩露落瀏覽器記錄同分享連結。Access token 好多時有效一個鐘或以上,refresh token 仲長好多。
喺任何地方解碼之前嘅清單:
用 Jwtly 喺本機解碼 bearer token
Jwtly 係 ToolBookly 嘅 JWT 解碼器。成段 header 值貼上——`Bearer eyJ…` 甚至 `Authorization: Bearer eyJ…` 都得——Jwtly 會自動去走前綴,將 header 同 payload 解碼做 pretty JSON。`exp`、`iat`、`nbf` 顯示本機時間,並標示已過期/未生效。可選驗簽只用瀏覽器嘅 Web Crypto API:HS256–512 用共用密鑰,RS256–512 同 ES256–512 用 PEM 公鑰。**唔上傳、唔中轉**:token、密鑰同公鑰都唔會離開你部機,亦唔會寫入網址。
**Debug 401 嘅典型流程:**
英文介面:Jwtly
命令列做法
鍾意用 terminal 都得,payload 只係 base64url。例如:
```text
echo "$TOKEN" | cut -d. -f2 | tr '_-' '/+' | base64 -d 2>/dev/null
```
可能要補 `=` padding,`base64 -d` 先肯接受。咁做都係留喺你部機——不過記住 token 可能會留喺 shell history。
相關私隱優先流程
結語
Bearer token 就係一個有到期日嘅密碼。Debug 認證時睇 `aud`、`exp` 同 `scope`——但要用喺你部機運行嘅 decoder,唔好用會將 token 送上伺服器嗰啲。