Heim > Backend-Entwicklung > C++ > Wie dekodiere ich JWT-Tokens mit JwtSecurityTokenHandler und behebe den Fehler „Zeichenfolge muss im kompakten JSON-Format sein'?

Wie dekodiere ich JWT-Tokens mit JwtSecurityTokenHandler und behebe den Fehler „Zeichenfolge muss im kompakten JSON-Format sein'?

Barbara Streisand
Freigeben: 2025-01-06 21:46:40
Original
560 Leute haben es durchsucht

How to Decode JWT Tokens using JwtSecurityTokenHandler and Resolve

JWT-Tokens mit JwtSecurityTokenHandler dekodieren

Das Dekodieren von JWT-Tokens kann mit der JwtSecurityTokenHandler-Klasse eine unkomplizierte Aufgabe sein. Wenn Sie jedoch auf Probleme wie den Fehler „Zeichenfolge muss im kompakten JSON-Format vorliegen“ stoßen, erfahren Sie hier, wie Sie das Problem beheben können.

Wie in der Frage erwähnt, erfordert der JwtSecurityTokenHandler, dass die Zeichenfolge in einem bestimmten Format vorliegt: Base64UrlEncodedHeader.Base64UrlEndcodedPayload.OPTIONAL,Base64UrlEncodedSignature.

An Um dieses Problem zu beheben, besteht die Lösung darin, das Ergebnis von ReadToken umzuwandeln oder stattdessen die ReadJwtToken-Methode zu verwenden. So funktioniert es:

Cast-Methode verwenden:

var stream = "[encoded jwt]";
var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(stream);
var tokenS = jsonToken as JwtSecurityToken;
Nach dem Login kopieren

Die tokenS-Variable ist jetzt vom Typ JwtSecurityToken und ermöglicht den Zugriff auf Ansprüche mithilfe von tokenS.Claims.

Verwenden von ReadJwtToken Methode:

var token = "[encoded jwt]";
var handler = new JwtSecurityTokenHandler();
var jwtSecurityToken = handler.ReadJwtToken(token);
Nach dem Login kopieren

Alternativ können Sie den Token direkt mit der ReadJwtToken-Methode lesen. Diese Methode gibt auch ein JwtSecurityToken-Objekt zurück.

Sobald das Token korrekt dekodiert ist, können Sie Ansprüche abrufen mit:

var jti = tokenS.Claims.First(claim => claim.Type == "jti").Value;
Nach dem Login kopieren

Dadurch wird der JTI-Anspruchswert vom Token abgerufen.

Denken Sie daran, dass es wichtig ist, beim Dekodieren von JWT-Tokens mit JwtSecurityTokenHandler das richtige Format zu verwenden, um dies zu vermeiden Fehler und stellen den ordnungsgemäßen Zugriff auf Ansprüche sicher.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich JWT-Tokens mit JwtSecurityTokenHandler und behebe den Fehler „Zeichenfolge muss im kompakten JSON-Format sein'?. 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