Tengo el siguiente código que compila y funciona en .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
};
});
En .NET Core 3.0 obtengo el error:
El error CS1061 'AuthenticationBuilder' no contiene una definición para 'AddJwtBearer' y no se puede encontrar ningún método de extensión accesible 'AddJwtBearer' que acepte un primer argumento del tipo 'AuthenticationBuilder' (¿falta una directiva de uso o una referencia de ensamblado?)
cuando miro la documentación de MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
e intenta llegar a la versión 3.0, parece que esta es la última versión donde está definida. ¿Cómo migro AddJwtBearer a Core 3.0?
c#
asp.net-core
.net-core
asp.net-core-2.0
.net-core-3.0
shelbypereira
fuente
fuente
Respuestas:
Como dice Mert Sayin, incluya el paquete Microsoft.AspNetCore.Authentication.JwtBearer , pero use la Versión 3.0.0 .
fuente
Debe incluir el paquete Microsoft.AspNetCore.Authentication.JwtBearer en su proyecto.
fuente
using Microsoft.AspNetCore.Authentication.JwtBearer;
en la parte superior?