如何设置授权标头(JWT)

Posted

技术标签:

【中文标题】如何设置授权标头(JWT)【英文标题】:How to set authorization header (JWT) 【发布时间】:2019-09-23 14:09:11 【问题描述】:

我正在处理 JWT 授权,但我无法弄清楚如何将 JWT 作为每个请求的请求标头发送,以便我可以使用它来检查用户是否被授权。

现在,我在登录后立即生成 JWT,并将其设置为 cookie。我想使用标题而不是 cookie。我怎样才能做到这一点?

我正在使用 django 1.6,如果是相关信息。

【问题讨论】:

嗨,我不确定我是否了解您的需求。您是希望您的 Django 项目从请求标头中读取 JWT,还是确实需要向另一个通过请求标头发送 JWT 的 API 发出请求? 【参考方案1】:

这真的取决于您的请求库。你能告诉我你用什么图书馆来提出请求吗?但是:大多数请求库应该允许您将请求的标头设置为包含 JWT。因此,当服务器接收到请求时,服务器会“知道”你被授权,因为 JWT 在 header 中。

以How to add JWT to authorization header?为例!

至于这个: Right now, I am generating the JWT immediately after login, and setting it as a cookie. I want to use header instead of cookie. How can I achieve this?

将您的 JWT 设置为 cookie 完全没问题。对于每个请求,您必须做的是从 cookie 中获取 JWT。更多详情请看:https://www.w3schools.com/js/js_cookies.asp!

【讨论】:

以上是关于如何设置授权标头(JWT)的主要内容,如果未能解决你的问题,请参考以下文章

laravel 中 jwt 身份验证中授权标头的作用

simple-auth-token JWT 授权未设置授权标头

使用 JWT 缺少授权标头

设置授权标头 - 使用 Python 请求和 JWT 的 Flask 应用程序

响应标头中缺少 jwt 授权令牌

C# .NET 5.0 MVC JWT 中间件授权标头