Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie dekodiere ich JWT-Tokens in JavaScript ohne Bibliotheken?

Barbara Streisand
Freigeben: 2024-10-29 18:30:28
Original
897 Leute haben es durchsucht

How to Decode JWT Tokens in JavaScript Without Libraries?

Dekodierung von JWT-Tokens in JavaScript ohne Bibliotheken

Die Dekodierung der Nutzlast eines JavaScript-Web-Tokens (JWT) kann erreicht werden, ohne auf externe Bibliotheken angewiesen zu sein . Dies bietet eine bessere Kontrolle über den Dekodierungsprozess und ermöglicht eine nahtlose Integration mit der Front-End-Anwendung.

Dekodierungsprozess

Das JWT-Format besteht aus drei durch Punkte getrennten Segmenten. wobei das zweite Segment die Nutzlast enthält. So dekodieren Sie die Nutzlast:

1. Extrahieren Sie das Nutzlastsegment:

const payloadSegment = token.split('.')[1];
Nach dem Login kopieren

2. Dekodieren Sie die Nutzlast (Browser)

Bei Browsern wird die Nutzlast mit base64url kodiert, was sich von normalem base64 unterscheidet. Dekodieren Sie es wie folgt:

const payload = decodeURIComponent(window.atob(payloadSegment).split('').map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
Nach dem Login kopieren

3. Dekodieren Sie die Nutzlast (Node.js)

In Node.js wird die Nutzlast nicht mit base64url kodiert. Dekodieren Sie es mit dem Puffermodul:

const payload = Buffer.from(payloadSegment, 'base64').toString();
Nach dem Login kopieren

4. Analysieren Sie die Nutzlast-JSON

Konvertieren Sie die dekodierte Nutzlastzeichenfolge in JSON:

const payloadObject = JSON.parse(payload);
Nach dem Login kopieren

Beispiel:

Gegebenes Token: xxxxxxxxxx. XXXXXXXX.xxxxxxxx, die entschlüsselte Nutzlast würde wie folgt aussehen:

{exp: 10012016, name: "john doe", scope: ["admin"]}
Nach dem Login kopieren

Hinweis:

Diese Methode extrahiert lediglich die Nutzlast, ohne die Tokensignatur zu validieren. Der Token könnte vor der Dekodierung manipuliert worden sein.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich JWT-Tokens in JavaScript ohne Bibliotheken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!