在 HTTP-Request 中使用 JWT 发送授权标头

Posted

技术标签:

【中文标题】在 HTTP-Request 中使用 JWT 发送授权标头【英文标题】:Sending Authorization Header with JWT in HTTP-Request 【发布时间】:2016-07-12 08:50:37 【问题描述】:

我无法让我的无国籍授权工作。

我目前让我的服务器将带有生成的 JWT 的 Authorization 标头添加到客户端的 HTTPResponse。

我的问题是客户端。我不太了解如何获取我在 HTTP 响应中添加的标头以在所有 HTTP 请求中发回。我一直在尝试使用 Bearer 架构并尝试不使用任何架构,但似乎没有任何效果。我没有使用 OAuth,所以我不确定 Bearer 架构在没有它的情况下是否有效。我也试过BasicDigest

这是我从服务器发送它时的样子。

Authorization: Bearer s5la8kdj4flak2.l4as5kdjfow2ie.owekj6nvowe4i3ej

我的问题是,我如何将这个 Authorization 标头发送回服务器进行身份验证?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

将 JWT 放入 cookie 中,这样可以防止其被 XSS 攻击盗取

【讨论】:

【参考方案2】:

无法按照我上面要求的方式来回发送 Authentication 标头。你必须明确使用Basic Authorization,而我没有。

我最终这样做的方式是制作一个名为 Authorization 的 cookie,其中主体有 JWT。 Cookie 会自动发送回HTTPRequest 中的服务器,我可以在自定义过滤器中将其删除。

【讨论】:

以上是关于在 HTTP-Request 中使用 JWT 发送授权标头的主要内容,如果未能解决你的问题,请参考以下文章

使用 jwt 令牌时如何发送用户信息?

JWT:如何在标头中发送授权?

使用 Postman 在标头中发送 JWT 令牌

如何将 JWT 令牌发送到 Cookie 并在其他路由中使用?

如何在组件中获取清晰的 http-request 数据?

使用浏览器获取请求发送 JWT 令牌