首頁 >web前端 >js教程 >如何在不使用函式庫的情況下在 JavaScript 中解碼 JWT 令牌?

如何在不使用函式庫的情況下在 JavaScript 中解碼 JWT 令牌?

DDD
DDD原創
2024-10-31 08:14:01592瀏覽

How to Decode JWT Tokens in JavaScript Without Using a Library?

在沒有庫的情況下在JavaScript 中解碼JWT 令牌

在不依賴外部庫的情況下解碼JWT 令牌的有效負載是前端常見的任務發展。為此,您可以按照以下步驟操作:

第1 步:提取令牌段

JWT 令牌由三個由句點分隔的段組成:標頭、有效負載和簽名。提取第二段,即有效負載。

第 2 步:解碼 Base64 有效負載

有效負載以 Base64 編碼。使用瀏覽器中的 atob() 函數或 Node.js 中的 Buffer.from().toString() 對其進行解碼。

第 3 步:URL 解碼負載

atob() 函數使用 base64,需要對其進行 URL 解碼以產生實際的 JSON 負載。

步驟 4:解析 JSON 負載

將解碼的負載轉換回使用 JSON.parse() 轉換為 JavaScript 物件。

範例

考慮此範例JWT 令牌:

xxxxxxxx.XXXXXXXX.xxxxxxxx

使用下列內容解碼有效負載上述步驟將產生以下JSON 物件:

{
  "exp": 10012016,
  "name": "john doe",
  "scope": ["admin"]
}

注意: 此方法不會驗證令牌的真實性,僅依賴令牌提供者的簽章。

以上是如何在不使用函式庫的情況下在 JavaScript 中解碼 JWT 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn