このドキュメントに出くわしたとき、私はこの答えを探していました:
about ページでクレームを調べると、いくつかのクレームが変な長い型名を持っていることと、おそらくアプリケーションで必要とするよりも多くのクレームがあることに気付くでしょう。
ClaimTypes
長いクレーム名は、一部のクレーム タイプを .NET のクラス タイプにマップしようとする Microsoft の JWT ハンドラに由来します。次のコード行を使用して、この動作をオフにすることができます ( 内Startup
)。
これは、抗 CSRF 保護の構成を新しい一意のサブ クレーム タイプに調整する必要があることも意味します。
AntiForgeryConfig.UniqueClaimTypeIdentifier = Constants.ClaimTypes.Subject;
JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
このコードをStartup.cs
クライアントに追加したところ、クレーム タイプが短縮されました。
アップデート:
の新しいバージョンでIdentityModel
は、プロパティは次のように呼ばれDefaultInboundClaimTypeMap
ます。
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
Identity 構成をセットアップする前に、必ずこの行を実行してください。