Maison >développement back-end >C++ >Comment décoder correctement les jetons JWT à l'aide de JwtSecurityTokenHandler ?
Décodage des jetons JWT avec JwtSecurityTokenHandler
Lorsque vous travaillez avec des JWT, il est crucial de pouvoir les décoder à des fins d'authentification et d'autorisation. Cependant, certains développeurs peuvent rencontrer des erreurs lors de l'utilisation de la classe JwtSecurityTokenHandler.
Considérez le code suivant :
public void TestJwtSecurityTokenHandler() { var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9"; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); }
Ce code peut générer une erreur indiquant que la chaîne ne répond pas au JSON compact requis. format. La solution consiste à convertir le résultat de ReadToken en un objet JwtSecurityToken.
var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9"; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); var tokenS = jsonToken as JwtSecurityToken;
Alternativement, la méthode ReadJwtToken peut être utilisée.
var stream ="eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9"; var handler = new JwtSecurityTokenHandler(); var jwtSecurityToken = handler.ReadJwtToken(stream);
Ces modifications convertiront le jeton au bon tapez, vous permettant d'accéder à leurs réclamations et de les valider à des fins d'autorisation.
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!