如何解碼 JWT
- 1貼上權杖,開頭的「Bearer 」會自動移除。
- 2以格式化 JSON 檢視 header 與 payload。
- 3在「時間聲明」中查看權杖是否已過期或尚未生效。
JWT 的組成
JWT 是以點號連接的三段 Base64url 字串。header 與 payload 是 JSON;簽名是二進位資料,只能用簽發方的金鑰驗證。
Header權杖類型與簽名演算法,例如 HS256 或 RS256。
Payload關於使用者與權杖本身的聲明。
Signature證明前兩段沒有被竄改。
註冊聲明
iss簽發者:誰建立了這個權杖sub主體:通常是使用者 IDaud受眾:權杖要給哪個服務使用exp到期時間,自 1970 年起的秒數nbf生效時間:在此之前權杖無效iat簽發時間jtiJWT ID:權杖的唯一識別碼常見問題
把真實權杖貼到這裡安全嗎?
權杖在你的瀏覽器中解碼,不會傳送到任何地方。但仍應像對待密碼一樣對待有效權杖,不要貼到不信任的工具中。
為什麼不驗證簽名?
驗證需要簽發方的共用密鑰或公開金鑰。解碼只能看到權杖宣稱的內容;在伺服器上,未驗證簽名之前絕不要相信這些聲明。
JWT 是加密的嗎?
標準的簽名 JWT 不是。任何拿到權杖的人都能讀取 payload,它只是 Base64url 編碼 的 JSON,不要在裡面放機密資訊。
日期使用哪個時區?
你裝置的本機時區。payload 中的原始值是以秒為單位的 Unix 時間戳記(UTC)。