J'ai le code suivant qui compile et fonctionne dans .NET CORE 2.2:
byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET);
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false
};
});
Dans .NET CORE 3.0, je reçois l'erreur:
Erreur CS1061 'AuthenticationBuilder' ne contient pas de définition pour "AddJWTbearer" et aucune méthode d'extension accessible 'AddJWTbeer' Accepter un premier argument de type 'AuthicityBuilder' (AuthollingBuilder "" peut-il être trouvé (utilisez-vous une directive ou une référence d'assemblage?)
quand je regarde la documentation MSFT: https://docs.microsoft.com/en-us/dottnet/api/microsoft.extensions.dependencyinjection.jwttbearExtensions.jwtbearextensions.Addjwtbearer?view=aspnetcore-2.2
et essayez de vous rendre à la version 3.0, il semble que c'est la dernière version dans laquelle cela est défini. Comment migrer Adjwtbearer en Core 3.0?
Quelque chose comme ça:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options => Configuration.Bind("JwtSettings", options)) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options => Configuration.Bind("CookieSettings", options));
D'ici: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/?view=aspnetcore-3.1