うまくいけば簡単に解決できます。System.IdentityModel.Tokens.Jwtの更新により、IdentityServer3クライアントの変更が中断される
MicrosoftのSystem.IdentityModels.Tokens.Jwt
パッケージは、昨日NuGetで4.0.2.206211351
からv5.0
に更新されました。これは残念なことに、いくつかの "標準" IdentityServer3
コードで改変を引き起こしています。つまりコードサンプルから取得しているので、かなりの数の開発者がこの問題を次の日に見るかもしれないと想像しています。
オリジナルコード
v4.0.2.xxxxxxバージョンのパッケージを使用しています。私は
using System.IdentityModel.Tokens;
名前空間にあります。 confgiurationラインを更新した後
を更新した後
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()
が呼び出される前に何か起こっていることがありますか? > V5定義によって破壊変更です -
v4が); -
感謝します。ああ、...まだv5の準備ができていません。これは無関係な話を始める前にNuGetパッケージの一般的なアップデートをしていたことです。私はしばらくの間、クリアされていないアップデートアラートで暮らす必要があります。 1つの意味で、私はそれが簡単な修正だとうれしいです。別のところでは、私は少し尋ねるのが嫌だと思う...しかし、それはソフトウェア開発だと思う:-) – user1820426
最新のバージョン(5.XX)を使うと、 'System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.DefaultInboundClaimTypeMap ' –