.NET Core 3.0에서 AddJwtBearer 확장을 바꾸는 방법


19

.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'에 대한 정의가 포함되어 있지 않으며 'AuthenticationBuilder'유형의 첫 번째 인수를 허용하는 액세스 가능한 확장 메소드 'AddJwtBearer'를 찾을 수 없습니다 (사용 지시문 또는 어셈블리 참조가 누락 되었습니까?)

MSFT 문서를 볼 때 https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.jwtbearerextensions.addjwtbearer?view=aspnetcore-2.2

버전 3.0으로 가려고하는데, 이것이 이것이 정의 된 마지막 버전 인 것 같습니다. AddJwtBearer를 Core 3.0으로 어떻게 마이그레이션합니까?


csproject 파일 공유
JeePakaJP

답변:



6

프로젝트에 Microsoft.AspNetCore.Authentication.JwtBearer 패키지를 포함해야합니다 .


2
using Microsoft.AspNetCore.Authentication.JwtBearer;상단에서 사용 했습니까 ?
Mert Sayın

예, 그렇습니다. MSFT 문서 에이 방법이 3.0에 존재하지 않는다고 명확하게 명시되어 있기 때문에 그렇게 간단하지 않다고 생각합니다. JwtBearer를 추가하기 위해 시작시 Dependency Injection을 사용할 수있는 방법이 있다고 생각하지만 인터넷에서 찾을 수 없었습니다.
shelbypereira
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.