programing

5.0.0으로 업그레이드한 후 토큰 유효성 검사 매개 변수가 더 이상 작동하지 않음

mailnote 2023. 4. 26. 23:32
반응형

5.0.0으로 업그레이드한 후 토큰 유효성 검사 매개 변수가 더 이상 작동하지 않음

시스템을 사용할 때 작동하는 다음 코드가 있습니다.아이덴티티 모델.Tokens.Jwt, 버전=4.0.20622.1351

private static void ConfigureAzureAD(IAppBuilder appBuilder)
{
    appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(
        new WindowsAzureActiveDirectoryBearerAuthenticationOptions
        {
            Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
            TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters
            {
                ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
            }
        });
}

그러나 이 패키지를 버전 5인 최신 패키지로 업그레이드하자마자 'TokenValidationParameters' 유형에 대한 참조가 시스템에 정의되어 있다고 불평하는 내용을 더 이상 컴파일하지 않습니다.아이덴티티 모델.Token.Jwt이지만 찾을 수 없습니다.

또한 다음 컴파일러를 시도하면 Audience가 더 이상 사용되지 않음을 경고합니다.

 private static void ConfigureAzureAD(IAppBuilder appBuilder)
    {
        appBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(
            new WindowsAzureActiveDirectoryBearerAuthenticationOptions
            {
                Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
                Audience = ConfigurationManager.AppSettings["ida:Audience"]
            });
    }

이 DLL을 다시 다운그레이드하여 버전 4.0.20622.1351을 사용하여 컴파일을 시작했습니다.

Azure Active Directory 구성에 대한 구문이 변경되었습니까?

Github에서 최신 패키지 5.0.0을 사용하는 프로젝트를 하나도 찾을 수 없었고 모두 이전 패키지 4.0.20622.1351을 사용하고 있습니다.최신 시스템을 사용하여 이 문제를 밝힐 수 있는 사람이 있습니까?아이덴티티 모델.Tokens.Jwt 5.0.0 또는 최신 패키지를 사용하여 Github의 어떤 프로젝트로 나를 안내합니까?

TokenValidationParameters가 어셈블리에 있습니다. Microsoft.아이덴티티 모델.토큰

당신은 카타나(asp.net OWIN 오퍼링의 첫 번째 버전)를 사용하고 있는 것처럼 보입니다.Katana는 5.0.0을 지원하지 않습니다.4.x를 사용해야 합니다.

asp.net 의 최신 버전은 S에 의존합니다.IM.xx와 M.IM.xxx 5.0. https://github.com/aspnet

간단한 버전: Microsoft 버전 4.0 이상을 사용해야 합니다.Microsoft와 같은 Owin 패키지.오윈. 보안.Jwt.


다른 답변에서 언급했듯이, 시스템에 중단된 변경이 있었습니다.아이덴티티 모델.Tokens.Jwt 버전 4.0부터 5.0까지.Microsoft와 같은 일부 패키지 때문에 문제가 발생했습니다.아이덴티티 모델.프로토콜은 버전 5.0에 의존하는 반면, 마이크로소프트와 같은 오래된 카타나/OWIN 패키지에 의존했습니다.오윈. 보안.Jwt는 여전히 버전 4.0에 의존하도록 하드 코딩되었습니다.

좋은 소식은 이것이 새로운 카타나 4.0 릴리스에서 수정되고 있다는 것입니다.4.0 패키지(: Jwt 및 Cookies)는 NuGet에 사전 릴리스 패키지로 게시되었으며 곧 안정적인 패키지로 제공될 예정입니다.

이것이 언제 고쳐질지는 모르겠지만, 고쳐지길 바랍니다.저는 이미 AAD 확장을 위해 Github 사이트와 Katana 사이트에 이 문제들을 게시했습니다.이러한 사이트에 대한 토론과 진행 상황을 팔로우할 수 있으며, 원하는 경우 언제든지 이 문제가 해결되는 것에 대한 관심을 게시할 수 있습니다.

어떻게 출시 전에 이것이 이슈가 되지 않았는지 이해할 수 없습니다."로 업그레이드합니다.Net Core"는 합리적인 솔루션이 아닙니다.대부분의 사소한 프로젝트가 그렇듯 제 앱도 한동안 그럴 가능성이 없습니다.

그래서 저도 오늘 같은 문제를 겪고 있습니다.그것의 바닥을 내려다 본 후에 나는 답을 알 것 같습니다.

간단히 말해, Katana 프로젝트(http://katanaproject.codeplex.com/) 가 Windows Azure Active Directory Identity Model Extensions for.의 현재 변경 사항을 준수하지 못하는 문제입니다.넷(https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet)

자세한 내용은 시스템에 TokenValidationParameters(토큰 유효성 검사 매개 변수)가 있습니다.아이덴티티 모델.Tokens.Jwt 어셈블리 버전 4.0이지만 버전 5.0에서 제거되었습니다.그것을 위한 새로운 집은 이제 조립 마이크로소프트에 있습니다.아이덴티티 모델.토큰.

죄송합니다. 수정 사항을 제공할 수 없습니다. 카타나 코드 기반을 극적으로 리팩터링해야 하는 설계 변경 사항입니다.

Katana는 현재 Identity Model 5.x 버전에서 작동하지 않습니다.https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet

그러나 이를 해결하기 위한 작업이 진행 중입니다.타임라인이 아직 설정되지 않았습니다.

언급URL : https://stackoverflow.com/questions/38119877/tokenvalidationparameters-no-longer-working-after-upgrade-to-5-0-0

반응형