Dekodierung von JWT-Tokens in JavaScript ohne Bibliotheken
Die Dekodierung der Nutzlast eines JWT (JSON Web Token) ist für den Zugriff auf und die Nutzung seiner Ansprüche unerlässlich in einer Frontend-Anwendung. Im Folgenden finden Sie zwei effiziente Methoden zum Dekodieren von JWT-Tokens ohne Bibliotheken:
Browser:
In der Browserumgebung können wir die folgenden Schritte ausführen, um die JSON-Nutzlast zu extrahieren:
JavaScript-Code:
<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 bietet eine unkomplizierte Methode zum Dekodieren von JWT-Nutzlasten:
JavaScript-Code:
<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>
Hinweis: Diese Methoden validieren die Signatur nicht des JWT-Tokens. Es wird dringend empfohlen, eine Bibliothek zur Signaturüberprüfung zu verwenden, um die Authentizität des Tokens sicherzustellen.
Das obige ist der detaillierte Inhalt vonWie dekodiere ich JWT-Tokens in JavaScript ohne externe Bibliotheken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!