在 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
架构在没有它的情况下是否有效。我也试过Basic
和Digest
。
这是我从服务器发送它时的样子。
Authorization: Bearer s5la8kdj4flak2.l4as5kdjfow2ie.owekj6nvowe4i3ej
我的问题是,我如何将这个 Authorization 标头发送回服务器进行身份验证?
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:将 JWT 放入 cookie 中,这样可以防止其被 XSS 攻击盗取
【讨论】:
【参考方案2】:无法按照我上面要求的方式来回发送 Authentication 标头。你必须明确使用Basic Authorization
,而我没有。
我最终这样做的方式是制作一个名为 Authorization
的 cookie,其中主体有 JWT
。 Cookie 会自动发送回HTTPRequest
中的服务器,我可以在自定义过滤器中将其删除。
【讨论】:
以上是关于在 HTTP-Request 中使用 JWT 发送授权标头的主要内容,如果未能解决你的问题,请参考以下文章