System.IdentityModel.Tokens.Jwt、Version = 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 の最新のパッケージにアップグレードするとすぐに、System.IdentityModel.Token.Jwtで定義されていると主張する 'TokenValidationParameters'型への参照をコンパイルしなくなりましたが、できませんでした見つけられた。
また、次のコンパイラを試してみると、オーディエンスは廃止されたという警告が表示されます:
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を使用しています。誰でも最新のSystem.IdentityModel.Tokens.Jwt 5.0.0を使用してこれに光を当てることができますか、最新のパッケージを使用してGithubのいくつかのプロジェクトに私を導くことができます?
TokenValidationParametersはアセンブリにあります:Microsoft.IdentityModel.Tokens
Katana(asp.net OWINオファリングの最初のバージョン)を使用しているようです。 Katanaは5.0.0をサポートしていません。 4.xに固執する必要があります。
Asp.netの最新バージョンは、S.IM.xxおよびM.IM.xxx 5.0に依存しています。 https://github.com/aspnet
短いバージョン:Microsoft.Owinなどのバージョン4.0以降のMicrosoft.Owinパッケージを使用していることを確認してください.Security.Jwt 。
他の回答で述べたように、バージョン4.0から5.0で System.IdentityModel.Tokens.Jwt に重大な変更がありました。 Microsoft.IdentityModel.Protocols などの一部のパッケージはバージョン5.0に依存していたため、これにより問題が発生しましたが、 Microsoft.Owinのような古いKatana/OWINパッケージ.Security.Jwt はまだバージョン4.0に依存するようにハードコードされていました。
幸いなことに、これは新しいKatana 4.0リリースでは being fixed です。 4.0パッケージ( Jwt および Cookies など)は、プレリリースパッケージとしてNuGetに公開されており、利用可能になります。すぐに安定したパッケージとして。
ですから、今日も同じ問題を経験しています。その下を見下ろした後、私は答えを知っていると思います。
要するに、Katanaプロジェクト( http://katanaproject.codeplex.com/ )がWindows Azure Active Directory IdentityModel Extensions for .Netの現在の変更に準拠していないという問題です( https://github.com/AzureAD/Azure-activedirectory-identitymodel-extensions-for-dotnet )
詳細については、TokenValidationParametersはSystem.IdentityModel.Tokens.Jwt Assembly verion 4.0にありましたが、バージョン5.0では削除されました。新しいホームは現在、アセンブリMicrosoft.IdentityModel.Tokensにあります。
申し訳ありませんが、カタナのコードベースを大幅にリファクタリングする必要がある設計変更であるため、修正を提供できません。
Katanaは現在、IdentityModelの5.xバージョンでは動作しません。 https://github.com/AzureAD/Azure-activedirectory-identitymodel-extensions-for-dotnet
ただし、これを修正する作業が進行中です。タイムラインはまだ設定されていません。