如何使用 Cookie 进行存储 jwt 令牌用户认证?
Posted
技术标签:
【中文标题】如何使用 Cookie 进行存储 jwt 令牌用户认证?【英文标题】:How to use Cookie for store jwt token user authentication? 【发布时间】:2021-03-10 06:41:28 【问题描述】:我用 reactjs 做了一个 Jwt 代币项目。所以我使用本地存储来记录 jwt 令牌身份验证,以便延迟检索。
我在帖子中记录了所有工作:https://loizenai.com/reactjs-jwt-authentication-example/
但是,我的同事告诉我,将 jwt 令牌保存在本地存储中并不安全。 有什么建议给我为什么,并给出一个正确的解决方案!
非常感谢!
【问题讨论】:
【参考方案1】:服务器应生成一个 jwt 令牌并将其作为 cookie 返回给您的客户端:
const maxAge = 3 * 24 * 60 * 60; // 3天
return res.cookie('jwtToken', token, 最大年龄:最大年龄 * 1000, httpOnly:是的, );
客户:
import Cookies from 'js-cookie';
import jwtDecode from 'jwt-decode';
const authUser = () =>
const token = Cookies.get('jwtToken');
let isAuth;
if (token)
const decodedToken = jwtDecode(token);
if (decodedToken.id) isAuth = true;
else isAuth = false;
else
// console.log('jwt cookie not available');
isAuth = false;
return isAuth;
;
【讨论】:
非常感谢!使用 cookie 对 Web 应用程序的安全性真的很好吗? stormpath.com/blog/…以上是关于如何使用 Cookie 进行存储 jwt 令牌用户认证?的主要内容,如果未能解决你的问题,请参考以下文章
如何存储 JWT refreshToken cookie 响应
我们如何将 JWT 令牌存储在仅限 Http 的 cookie 中?
如何使用标头中的用户 JWT 令牌转发授权并将其与 cookie 中的 JWT 令牌进行比较以验证用户?