Maison > développement back-end > C++ > Comment décoder les jetons JWT à l'aide de JwtSecurityTokenHandler et résoudre les erreurs « la chaîne doit être au format JSON compact » ?

Comment décoder les jetons JWT à l'aide de JwtSecurityTokenHandler et résoudre les erreurs « la chaîne doit être au format JSON compact » ?

Barbara Streisand
Libérer: 2025-01-06 21:46:40
original
517 Les gens l'ont consulté

How to Decode JWT Tokens using JwtSecurityTokenHandler and Resolve

Décoder les jetons JWT avec JwtSecurityTokenHandler

Le décodage des jetons JWT peut être une tâche simple à l'aide de la classe JwtSecurityTokenHandler. Cependant, si vous rencontrez des problèmes tels que l'erreur « la chaîne doit être au format JSON compact », voici comment la résoudre.

Comme mentionné dans la question, JwtSecurityTokenHandler exige que la chaîne soit dans un format spécifique : Base64UrlEncodedHeader.Base64UrlEndcodedPayload.OPTIONAL,Base64UrlEncodedSignature.

Pour résoudre ce problème, la solution consiste à convertir le résultat de ReadToken ou à utiliser la méthode ReadJwtToken à la place. Voici comment cela fonctionne :

Utilisation de la méthode Cast :

var stream = "[encoded jwt]";
var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(stream);
var tokenS = jsonToken as JwtSecurityToken;
Copier après la connexion

La variable tokenS est désormais de type JwtSecurityToken, permettant l'accès aux revendications à l'aide de tokenS.Claims.

Utilisation de ReadJwtToken Méthode :

var token = "[encoded jwt]";
var handler = new JwtSecurityTokenHandler();
var jwtSecurityToken = handler.ReadJwtToken(token);
Copier après la connexion

Vous pouvez également lire directement le jeton à l'aide de la méthode ReadJwtToken. Cette méthode renvoie également un objet JwtSecurityToken.

Une fois le jeton correctement décodé, vous pouvez récupérer les réclamations en utilisant :

var jti = tokenS.Claims.First(claim => claim.Type == "jti").Value;
Copier après la connexion

Cela récupérera la valeur de réclamation jti du jeton.

N'oubliez pas qu'il est essentiel d'utiliser le format correct lors du décodage des jetons JWT avec JwtSecurityTokenHandler pour éviter les erreurs et garantir un bon fonctionnement. accès aux réclamations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal