更新System.IdentityModel.Tokens.Jwt,导致IdentityServer3客户端发生突破性变
本文关键字:客户端 突破性 IdentityServer3 导致 IdentityModel System Tokens Jwt 更新 | 更新日期: 2023-09-27 17:52:57
希望是一个容易解决的问题。
微软的System.IdentityModels.Tokens.Jwt
包昨天在NuGet上从4.0.2.206211351
更新到v5.0
。不幸的是,这导致了一些"标准"IdentityServer3
代码的突破性变化。也就是说,从他们的代码样本中提取的,所以我想在接下来的几天里,相当多的开发人员可能会看到这个问题。
。XXXXXX版本号。我有
using System.IdentityModel.Tokens;
。
then在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
名称空间,这不是那么糟糕的解决。
然而,我现在在JwtSecurityTokenHandler.InboundClaimTypeMap
上得到Object reference required for a non-static field
错误。
我在这里错过了什么,另一个需要的库,或者在Startup.Configuration()
被调用之前发生了什么事情需要深入研究?
当你去看医生说"我这样做总是很疼" -医生会回答"那就别再这样做了";)
根据定义,v4 -> v5是一个突破性的更改。你需要v5吗?
话虽这么说-一个简单的智能感知探索将会带来他们将InboundClaimTypeMap
重命名为DefaultInboundClaimTypeMap
。
OWIN中的访问令牌验证与系统不兼容。identitymodel v5 -您需要降级到v4 -查看此处的问题