У меня есть следующий код, который компилируется и работает в .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
};
});
В .NET Core 3.0 я получаю сообщение об ошибке:
Ошибка CS1061 «AuthenticationBuilder» не содержит определения для «AddJwtBearer», и нет доступного метода расширения «AddJwtBearer», принимающего первый аргумент типа «AuthenticationBuilder» (вы пропустили директиву using или ссылку на сборку?)
когда я просматриваю документацию MSFT: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2
и попробуйте получить версию 3.0, кажется, что это последняя версия, где это определено. Как перенести AddJwtBearer в Core 3.0?
c#
asp.net-core
.net-core
asp.net-core-2.0
.net-core-3.0
shelbypereira
источник
источник
Ответы:
Как говорит Мерт Сайин, включите пакет Microsoft.AspNetCore.Authentication.JwtBearer , но используйте версию 3.0.0 .
источник
Вы должны включить пакет Microsoft.AspNetCore.Authentication.JwtBearer в свой проект.
источник
using Microsoft.AspNetCore.Authentication.JwtBearer;
в топе?