Как заменить расширение AddJwtBearer в .NET Core 3.0 - PullRequest
1 голос
/ 28 октября 2019

У меня есть следующий код, который компилируется и работает в .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?

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

Как говорит Мерт Сайин, включите пакет Microsoft.AspNetCore.Authentication.JwtBearer , но используйте Версия 3.0.0 .

1 голос
/ 28 октября 2019

Вы должны включить в свой пакет Microsoft.AspNetCore.Authentication.JwtBearer .

...