うまくいけば、簡単に解決できます。
Microsoftの_System.IdentityModels.Tokens.Jwt
_パッケージがNuGetで昨日_4.0.2.206211351
_から_v5.0
_に更新されました。残念ながら、これはいくつかの「標準」の_IdentityServer3
_コードで重大な変更を引き起こしています。つまり、コードサンプルから取得したので、今後数日でかなりの数の開発者がこの問題を目にする可能性があります。
パッケージのv4.0.2.xxxxxxバージョンを使用します。私が持っています
_using System.IdentityModel.Tokens;
_
名前空間内。
次に、Configurationメソッドで次のように始まります。
_public void Configuration(IAppBuilder app)
{
AntiForgeryConfig.UniqueClaimTypeIdentifier = "sub";
JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies"
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{ ... };
_
構成行を更新した後:
_JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
_
問題が発生しています。
最初に、クラスが_System.IdentityModel.Tokens.Jwt
_名前空間に移動したようですが、これは解決するのにそれほど悪くありません。
ただし、_Object reference required for a non-static field
_で_JwtSecurityTokenHandler.InboundClaimTypeMap
_エラーが発生します。
ここに何か不足していますか、別のライブラリが必要ですか、またはStartup.Configuration()
が呼び出される前に発生する何かが必要ですか?
あなたが医者に行き、「私がこれをするときはいつも痛いです」と言うとき-医者は「それからこれをやめる」と答えます;)
v4-> v5は、定義上、重大な変更です。 v5が必要ですか?
言われていること-単純なインテリセンスの探査は彼らがInboundClaimTypeMap
をDefaultInboundClaimTypeMap
に改名したことを思い起こさせただろう。
途中でさらに重大な変更に備えてください。
OWINでのアクセストークンの検証は、system.identitymodel v5と互換性がありません-v4にダウングレードする必要があります- ここの問題を参照