【问题标题】:.NET Core API - does the middleware set the JWT bearer token in the header?.NET Core API - 中间件是否在标头中设置 JWT 不记名令牌?
【发布时间】:2019-03-23 17:40:48
【问题描述】:

我已经完成了生成 JWT 的所有代码,并且我已经使用正确的配置代码连接了我的 ConfigureServices,但我没有看到实际设置了标头。

我假设中间件会为您执行此操作,但可能不会,是否由我从控制器的登录方法和客户端返回令牌,然后获取它并为后续请求设置标头?

【问题讨论】:

  • 您使用的是哪个中间件?服务器还是客户端?您的代码是否发布或检查令牌?
  • 使用 JWT Bearer 身份验证,客户端应该在每个请求上显式设置标头。这就是重点。服务器无法为您设置,因为服务器无法识别客户端。

标签: c# .net authentication asp.net-core jwt


【解决方案1】:

不,它没有。

它的工作方式是将登录凭据发送到登录服务器。在大多数情况下它是相同的,但在更安全的应用程序中情况并非如此。

服务器然后验证您的凭据,创建 JWT 令牌并将其发送回给您。

然后,您可以在向应用服务器发出请求时在标头中使用该 JWT:

"Authorization":"Bearer xxxxx.yyyyy.zzzzz"

这需要在每次调用服务器时完成,因为 JWT 的要点是它是无状态的,这意味着服务器根本不保存数据。而是在每次调用时读取 JWT 令牌并基于此授予访问权限/功能。

【讨论】:

  • 感谢您的信息,我仍在学习所有 .NET 中间件选项,其中大多数似乎为您做了很多管道工作,所以我不确定这个和一个SPA 应用前端,谢谢
猜你喜欢
  • 2020-01-20
  • 2020-05-14
  • 2016-09-25
  • 2021-06-27
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 2020-10-26
相关资源
最近更新 更多