我读过在 localStorage 中保存令牌 JWT 是一种不好的做法。 https://dev.to/rdegges/please-stop-using-local-storage-1i04 我正在使用 ReactJs,而在另一边有一个使用 NodeJs 的 API Rest。我应该在哪里以及如何将令牌 JWT 保存在 Cookie 中?
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
如果在 cookie 和 localStorage 之间进行选择,那么在安全性方面两者各有利弊。正确设置所有安全属性(HttpOnly、secure、SameSite=strict)确实可以更好地保护 cookie 免受某些攻击。
但是,SameSite 属性可能并不适用于所有人,并且可能无法保护所有功能免受 CSRF(跨站点请求伪造)攻击。
HttpOnly 将保护该值不被 JavaScript 访问,如果应用程序遭受 (XSS) 跨站点脚本漏洞,这是很好的。但是,任何中等资格的攻击者都可以轻松实现他们想要的,而无需访问令牌的实际价值。
在 localStorage 中存储令牌时要记住的是,当浏览器关闭时它不会被清除,这意味着用户不会通过关闭浏览器而注销 - 这是许多人所期望的。如果这是一个问题,您可能需要考虑将 JWT 存储在 sessionStorage 中。
交互式爱情
TA贡献1712条经验 获得超3个赞
localStorage 看起来不错,因为很多人都在使用 localStorage。
如果您想要额外的安全功能您可以缩短令牌的生命周期,例如 {30 min, 60 min}
您还可以检查您的用户活动状态用户是否会自动注销
添加回答
举报
0/150
提交
取消