系统 .IdentityModel.Tokens和 Microsoft .IdentityModel.Tokens名称空间之间似乎存在一些历史问题。我花了一天的时间试图找到与我找到的IdentityModel对象相匹配的文档,而不是。
我正在尝试设置我的Web API项目以使用JWT令牌,我正在查看Microsoft文档,特别是他们认为属于System.IdentityModel.Tokens名称空间的the TokenValidationParameters object。
但事实并非如此。我在我的项目中正确引用了System.IdentityModel.Tokens,从Nuget得到了最新的等等,但是对象就不存在了。
但是我做在“ Microsoft .IdentityModel.Tokens”命名空间中找到这样的对象 - 但它没有我在各种方法中看到的属性 - 到这些网站:
Microsoft代码:
code.msdn.microsoft.com/AAL-Native-App-to-REST-de57f2cc/sourcecode?fileId=96343&pathId=697488104
其他很棒的网站:markwalsh.io/development/2014/12/02/ASP.Net%20Web%20API%20with%20JWT /
这些网站引用不存在的“系统”对象,并使用“Microsoft”不具备的属性,如“SigningToken”和“AllowedAudience”。
我找到的所有文档和操作方法都集中在System.IdentityModel.Tokens命名空间上,该命名空间不可用,因为其中的对象不存在。
SO:有人能指出我在Web API中使用JWT的好方法参考,使用 Microsoft .IdentityModel.Tokens名称空间吗?
我已经失去了一天,并希望得到帮助。
后续问题:我是否需要为OWIN配置此项目才能突然发挥作用?我几乎没有在Web API中提到JWT,它不会自动假设您在做OWIN。