Le conflit entre le Système.IdentityModel.Jetons et Microsoft.IdentityModel.Jetons
J'ai un conflit lors de l'utilisation du Système.IdentityModel.Jetons :
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
public voidGenereToken()
{
const string sec = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
var now = DateTime.UtcNow;
var securityKey = new InMemorySymmetricSecurityKey(Encoding.Default.GetBytes(sec));
var signingCredentials = new SigningCredentials(securityKey,
SecurityAlgorithms.RsaSha256Signature, SecurityAlgorithms.Sha256Digest);
var header = new JwtHeader(signingCredentials);
var payload = new JwtPayload
{
{"iss", "a5fgde64-e84d-485a-be51-56e293d09a69"},
{"scope", "https://example.com/ws"},
{"aud", "https://example.com/oauth2/v1"},
{"iat", now},
};
var secToken = new JwtSecurityToken(header, payload);
var handler = new JwtSecurityTokenHandler();
var tokenString = handler.WriteToken(secToken);
Console.writeLine(tokenString)
}
- Je obtenir de l'erreur suivante quand j'ai créer l'en-tête (var-tête = new JwtHeader(signingCredentials);) :
Argument de type 'System.IdentityModel.Jetons.SigningCredentials " n'est pas
assignable à type de paramètre
"Microsoft.IdentityModel.Jetons.SigningCredentials'
Je ne comprends pas parce que tout mon type se réfère à Système.IdentityModel.Jetons.
et dans la documentation JwtHeader Constructeur besoin Système.IdentityModel.Jetons.SigningCredentials
Je ne sais pas quel est le problème ...
Vous devez vous connecter pour publier un commentaire.
Système.IdentityModel.Jetons.Jwt version 5.0.0.0 dépend de Microsoft.IdentityModel.Jetons.
Vous devez utiliser SigningCredentials dans le Microsoft.IdentityModel.Les jetons de l'espace de noms.
Exemple:
Peut-être êtes-vous à l'aide de Jwt version 5.0.0.0 ou au-dessus. J'ai rencontré le même problème avant.
La nouvelle version de JWT gestionnaire accepte de Microsoft.IdentityModel.Les jetons de l'espace de noms.