在沒有庫的情況下在JavaScript 中解碼JWT 令牌
解碼JWT(JSON Web 令牌)的有效負載對於存取和使用其聲明至關重要在前端應用程式中。以下是兩種無需借助庫即可解碼JWT 令牌的有效方法:
瀏覽器:
在瀏覽器環境中,我們可以採用以下步驟來提取JSON 負載:
JavaScript 程式碼:
<code class="javascript">function parseJwt(token) { const base64UrlPayload = token.split('.')[1]; const base64Payload = base64UrlPayload.replace(/-/g, '+').replace(/_/g, '/'); const jsonPayload = decodeURIComponent(window.atob(base64Payload).split('').map(c => { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }</code>
Node.js:
Node.js 提供了一種簡單的方法來解碼JWT 負載:
JavaScript 程式碼:
<code class="javascript">function parseJwt(token) { const base64Payload = token.split('.')[1]; const payloadBuffer = Buffer.from(base64Payload, 'base64'); const payload = JSON.parse(payloadBuffer.toString()); return payload; }</code>
注意: 這些方法不會驗證簽名JWT 令牌。強烈建議使用函式庫進行簽名驗證,以確保token的真實性。
以上是如何在沒有外部程式庫的情況下在 JavaScript 中解碼 JWT 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!