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, j'obtiens l'erreur:
L'erreur CS1061 'AuthenticationBuilder' ne contient pas de définition pour 'AddJwtBearer' et aucune méthode d'extension accessible 'AddJwtBearer' acceptant un premier argument de type 'AuthenticationBuilder' n'a pu être trouvée (il vous manque une directive d'utilisation ou une référence d'assembly?)
quand je regarde la documentation MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
et essayez d'arriver à la version 3.0, Il semble que ce soit la dernière version où cela est défini. Comment migrer AddJwtBearer vers Core 3.0?
c#
asp.net-core
.net-core
asp.net-core-2.0
.net-core-3.0
Shelbypereira
la source
la source
Réponses:
Comme le dit Mert Sayin, incluez le package Microsoft.AspNetCore.Authentication.JwtBearer , mais utilisez la version 3.0.0 .
la source
Vous devez inclure le package Microsoft.AspNetCore.Authentication.JwtBearer à votre projet.
la source
using Microsoft.AspNetCore.Authentication.JwtBearer;
en haut?