寻找在Web API中进行JWT的准确,最新的方法

时间:2016-07-07 23:46:09

标签: c# asp.net-web-api jwt

系统 .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。

1 个答案:

答案 0 :(得分:0)

这两个令牌都不适合我,因为它们似乎适合OWIN和“DotNetOpenAuth”

JWT可能是您自己的解决方案角色的一个很好的参考,或者只是将JWT.cs复制到您的项目中

OpenID网站还有其他一些针对JWT的C#引用