为了账号安全,请及时绑定邮箱和手机立即绑定

在哪里以及如何保存令牌 JWT ?(最佳实践)

在哪里以及如何保存令牌 JWT ?(最佳实践)

胡子哥哥 2022-06-16 15:20:56
我读过在 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 中。


查看完整回答
反对 回复 2022-06-16
?
交互式爱情

TA贡献1712条经验 获得超3个赞

localStorage 看起来不错,因为很多人都在使用 localStorage。

如果您想要额外的安全功能您可以缩短令牌的生命周期,例如 {30 min, 60 min}

您还可以检查您的用户活动状态用户是否会自动注销


查看完整回答
反对 回复 2022-06-16
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信