Eu tenho o seguinte código que compila e funciona no .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
};
});
No .NET Core 3.0, estou recebendo o erro:
O erro CS1061 'AuthenticationBuilder' não contém uma definição para 'AddJwtBearer' e não foi encontrado nenhum método de extensão acessível 'AddJwtBearer' que aceite um primeiro argumento do tipo 'AuthenticationBuilder' (falta uma diretiva de uso ou uma referência de montagem?)
quando olho para a documentação do MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
e tente chegar à versão 3.0, parece que esta é a última versão em que isso está definido. Como migrar o AddJwtBearer para o Core 3.0?
c#
asp.net-core
.net-core
asp.net-core-2.0
.net-core-3.0
shelbypereira
fonte
fonte
Respostas:
Como diz Mert Sayin, inclua o pacote Microsoft.AspNetCore.Authentication.JwtBearer , mas use a versão 3.0.0 .
fonte
Você deve incluir o pacote Microsoft.AspNetCore.Authentication.JwtBearer em seu projeto.
fonte
using Microsoft.AspNetCore.Authentication.JwtBearer;
no topo?