【问题标题】:Where should I store my JWT in 2019 and is the localStorage really not secure?2019 年我应该在哪里存储我的 JWT,localStorage 真的不安全吗?
【发布时间】:2019-10-15 06:46:16
【问题描述】:

有趣的话题。 由于我正在使用 Node.js ApiReact Redux Client 创建我的第一个真正更大的项目,因此我需要身份验证。

现在我不知道如何“以正确的方式”处理身份验证。

因为我阅读了很多关于它的主题,但意见不同。

所以一开始有人立刻说:不要将 localStorage 与 JWT 一起使用。

例如这里有一篇文章:https://dev.to/rdegges/please-stop-using-local-storage-1i04

这是来自 auth0 的另一篇文章:https://auth0.com/docs/security/store-tokens

但后来我深入研究了广泛的身份验证世界,发现很多人说:

“localStorage 和 cookie 一样安全”

比如从第一篇第一条评论,第三条回复(这里有链接:https://dev.to/jondubois/comment/373l

我的意思是他说得对吗?在阅读了该文章以及其他一些文章和 cmets 之后,如果您不是拥有非常敏感数据的银行,那么将其存储在 localStorage 中是完全可以的。

所以我在 2019 年,不是初学者,也不是经验丰富的开发人员,我问自己应该如何实现此身份验证流程,而不至于过于复杂(有将 jwt 存储到 httpOnly cookie 的流程例如)但另一方面也不是很容易破解。

我正在尝试创建一个论坛应用程序。您可以注册,创建自己的论坛,然后其他用户可以注册此论坛。所以基本身份验证,我只需使用 JWT 发送 user_id 和令牌。

非常感谢你们的意见和建议。

【问题讨论】:

    标签: javascript reactjs security session authentication


    【解决方案1】:

    在早期阶段存储 JWT 就像您需要的一样简单。将其作为从服务器发回的哈希值存储在本地存储中。不是普通的 JWT 令牌。并使用httpOnly

    【讨论】:

      【解决方案2】:

      我也在寻找这个答案,最后,我发现了关于 JWT 令牌安全性的非常有趣和有用的文章,即:
      - https://security.stackexchange.com/questions/179487/store-splitted-jwt-for-csrf-protection-and-refresh-strategy
      - https://medium.com/@jcbaey/authentication-in-spa-reactjs-and-vuejs-the-right-way-e4a9ac5cd9a3
      TL;DR 您应该将令牌的第一部分存储在带有 httpOnly: true 参数的 cookie 中,并将其余令牌存储在不带 httpOnly 参数的 cookie 中,并且 Javascript 可以在浏览器中获取并使用您的 JWT 有效负载信息。

      【讨论】:

      • 这篇文章不错,但我想链接您文章中提到的更详细的文章,以免人们掩盖它,因为我发现它更有帮助medium.com/lightrail/…跨度>
      猜你喜欢
      • 2019-04-25
      • 2020-09-08
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2021-07-19
      相关资源
      最近更新 更多