如何存储 JWT 以及如何在 cookie 中使用它

Posted

技术标签:

【中文标题】如何存储 JWT 以及如何在 cookie 中使用它【英文标题】:How to store a JWT and how to use it in cookies 【发布时间】:2019-03-18 19:25:40 【问题描述】:

我有一个 Django REST 后端和 React 前端。我的提交功能如下:

handleSubmit = async event => 
    event.preventDefault();
    const  username, password  = this.state;
    const response = await login(username, password);
    console.log(response.data.token);
;

response.data.token 成功返回了一个令牌,但我的问题是:

如何存储它以在另一个 HTTP 请求中使用? (使用cookie解决方案)

【问题讨论】:

我猜你的服务器应该直接把它放入cookie中。 我该怎么做?我真的不知道实现这一点的代码。 您的 jango 代码是什么样的? 我正在使用 djangorestframework-jwt。所以唯一的代码是 path("getToken/", gain_jwt_token) 【参考方案1】:

我通过universal-cookie找到了解决方案

我的最终代码是:

import Cookies from "universal-cookie";
const cookies = new Cookies();

...

handleSubmit = async event => 
   event.preventDefault();
   const  username, password  = this.state;
   const response = await login(username, password);
   cookies.set("access_token", response.data.token);
;

【讨论】:

以上是关于如何存储 JWT 以及如何在 cookie 中使用它的主要内容,如果未能解决你的问题,请参考以下文章

如何使用护照身份验证更新包含 jwt 的 cookie

如何使用 Axios 将 JWT 存储在 cookie 中?

如何使用 Cookie 进行存储 jwt 令牌用户认证?

如何使用 DRF djangorestframework-simplejwt 包将 JWT 令牌存储在 HttpOnly cookie 中?

我们如何将 JWT 令牌存储在仅限 Http 的 cookie 中?

如何在前端使用 HttpOnly jwt cookie