Heim > Web-Frontend > js-Tutorial > Wie dekodiere ich JWT-Tokens manuell in JavaScript?

Wie dekodiere ich JWT-Tokens manuell in JavaScript?

Linda Hamilton
Freigeben: 2024-10-29 08:00:30
Original
518 Leute haben es durchsucht

How to Decode JWT Tokens Manually in JavaScript?

Entwickeln Sie eine Methode zum Dekodieren von JWT-Tokens in JavaScript

Das Dekodieren von JWT-Tokens ohne Verwendung von Bibliotheken ist in JavaScript möglich. Dies kann durch manuelles Extrahieren der Nutzlast aus dem Token erreicht werden.

Schritte zur Nutzlastextraktion:

1. Base64-Dekodierung:

Teilen Sie das Token mithilfe des „.“ in drei Teile (Header, Nutzlast, Signatur) auf. Charakter. Dekodieren Sie den zweiten Teil (Nutzlast) mithilfe der Base64URL-Kodierung, die „ “ und „/“ durch „-“ bzw. „_“ ersetzt.

2. Unicode-Textersetzung:

Die dekodierte Nutzlast ist eine Unicode-Textsequenz. Ersetzen Sie alle nicht druckbaren Zeichen (%-Symbole) durch die entsprechenden ASCII-Codes (z. B. für ein Leerzeichen).

3. JSON-Analyse:

Parsen Sie abschließend den ersetzten Text als JSON, um das Nutzlastobjekt zu erhalten.

Implementierung:

Browser :

<code class="javascript">function parseJwt(token) {
    var base64Url = token.split('.')[1];
    var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
    var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));

    return JSON.parse(jsonPayload);
}</code>
Nach dem Login kopieren

Node.js:

<code class="javascript">function parseJwt(token) {
    return JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
}</code>
Nach dem Login kopieren

Hinweis: Durch das Dekodieren der Nutzlast wird die Signatur des Tokens nicht validiert. Es wird davon ausgegangen, dass der Token nicht manipuliert wurde.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich JWT-Tokens manuell in JavaScript?. 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