Décoder les jetons JWT avec JwtSecurityTokenHandler
Comprendre le fonctionnement d'une bibliothèque peut être difficile, en particulier lorsque vous rencontrez des erreurs inattendues. Ici, nous abordons la question du décodage des jetons JWT à l'aide de la bibliothèque JwtSecurityTokenHandler.
1. Analyse des erreurs
Le message d'erreur mentionne que le flux d'entrée doit être au format JSON compact, qui suit la structure "Base64UrlEncodedHeader.Base64UrlEndcodedPayload.OPTIONAL,Base64UrlEncodedSignature". La comparaison du flux d'entrée avec un JWT valide dans jwt.io révèle que le flux d'entrée n'a pas le format requis.
2. Solution : lancer ou utiliser la méthode ReadJwtToken
La résolution implique soit de convertir le résultat en JwtSecurityToken, soit d'utiliser la méthode ReadJwtToken fournie par le bibliothèque.
var stream = "[encoded jwt]"; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); var tokenS = jsonToken as JwtSecurityToken;
var token = "[encoded jwt]"; var handler = new JwtSecurityTokenHandler(); var jwtSecurityToken = handler.ReadJwtToken(token);
3. Accès aux revendications
Une fois le jeton décodé correctement, les revendications sont accessibles à l'aide de la classe JwtSecurityToken.
var jti = tokenS.Claims.First(claim => claim.Type == "jti").Value;
En implémentant ces solutions, les développeurs peuvent décoder avec succès les jetons JWT à l'aide de JwtSecurityTokenHandler. bibliothèque et extrayez les revendications souhaitées.
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!