在沒有庫的情況下在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中文網其他相關文章!