[在哪里以及如何保存令牌JWT? (最佳做法)

问题描述 投票:0回答:2

我读过,将令牌JWT保存在localStorage中是一种不良做法。https://dev.to/rdegges/please-stop-using-local-storage-1i04我正在使用ReactJs,另一方面,NodeJs拥有API Rest。我应该在哪里以及如何将令牌JWT保存在Cookie中?

智利的问候语,

javascript security browser jwt
2个回答
1
投票

如果在cookie和localStorage之间进行选择,则在安全性方面都各有利弊。正确设置所有安全属性(HttpOnly,secure,SameSite = strict)后,可以更好地保护cookie免受某些攻击。

但是,SameSite属性可能不适用于所有人,并且可能无法保护所有功能免受CSRF(跨站点请求伪造)攻击。

HttpOnly将保护该值免受来自JavaScript的访问,如果应用程序遭受(XSS)跨站点脚本漏洞,那就很好。但是,任何中等资格的攻击者都可以轻松实现他们想要的目标,而无需访问令牌的实际值。

将标记存储在localStorage中时要记住的一点是,在关闭浏览器时不会清除它,这意味着用户不会因关闭浏览器而注销-这是许多人所期望的。如果这是一个问题,您可能需要考虑将JWT存储在sessionStorage中。


0
投票

localStorage似乎很好,因为许多人都在使用localStorage。

如果您想要额外的安全功能您可以缩短令牌寿命,例如{30分钟,60分钟}

此外,您也可以检查用户的活动状态用户将自动注销

© www.soinside.com 2019 - 2024. All rights reserved.