【问题标题】:Looking for an accurate, current, how-to for doing JWT in Web API寻找在 Web API 中执行 JWT 的准确、最新的方法
【发布时间】:2016-11-10 10:48:19
【问题描述】:

System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 命名空间之间似乎存在一些历史纠葛。我花了一天时间试图找到与我找到的 IdentityModel 对象匹配的文档,但不能。

我正在尝试设置我的 Web API 项目以使用 JWT 令牌,并且正在查看 Microsoft 文档,特别是他们说属于 System.IdentityModel.Tokens 命名空间的the TokenValidationParameters object

但事实并非如此。我在我的项目中正确引用了 System.IdentityModel.Tokens,从 Nuget 等处获得了最新信息,但该对象不存在。

但是我确实在“Microsoft.IdentityModel.Tokens”命名空间中找到了这样一个对象——但它没有我在各种方式中看到的属性- 到网站,例如:

  • 微软代码:
    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/

这些网站引用不存在的“System”对象,并使用“Microsoft”不具备的属性,例如“SigningToken”和“AllowedAudience”。

我发现所有文档和操作方法都集中在 System.IdentityModel.Tokens 命名空间上,因为其中的对象不存在而无法使用。

SO:有人可以为我指出在 Web API 中执行 JWT 的一个很好的方法参考,使用 Microsoft.IdentityModel.Tokens 命名空间?

我为此浪费了一天的时间,希望能得到帮助。

后续问题:我是否需要为 OWIN 配置此项目才能使其突然工作?我几乎找不到在 Web API 中提到 JWT,它不会自动假定您正在做 OWIN。

【问题讨论】:

  • 来自help center要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题与 Stack Overflow 无关 .指向良好的操作方法参考 的指针将是场外资源。你能改写你的问题吗?
  • 肯,你是 100% 正确的。我想我比我知道的更沮丧。我不知道我 可以 将其重铸为有效的 SO 问题,所以我超出了界限。并感谢您如此礼貌和亲切地说。我已经看到了这种事情可以升腾的火焰......
  • not the only one 看起来很痛苦。

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


【解决方案1】:

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

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

OpenID 站点有一些其他的 JWT 的 C# 参考

【讨论】:

  • 史蒂夫,谢谢。你指向 JWT-DotNet 的指针最终是我使用的。在过去的几年里,我决定远离微软围绕 ASP.NET 的各种起起伏伏。 (v5.0,等一下!vNext!不,等一下,OWIN!好的,真的是 Katana,但我们将把所有东西都命名为 OWIN!”但请稍等,brainstorm! Core v1.0!)知道这一切都会稳定下来,但它让我发疯了。JWT-DotNet 只是保持简单。
猜你喜欢
  • 2014-04-30
  • 2013-11-01
  • 2019-05-16
  • 1970-01-01
  • 2021-10-02
  • 2017-04-30
  • 2018-06-25
  • 1970-01-01
  • 2017-11-30
相关资源
最近更新 更多