将 JWT 存储为本地存储项

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

我正在开发一个聊天应用程序,用户登录后, 我将完整的用户信息存储在 localStorage 中,如下所示:

我也在使用 JWT 来授权用户。

那么在 localStorage 中只存储 JWT 会更好吗? 并使用 JWT 从后端检索 userInfo? 这种事情的最佳解决方案是什么?

这是存储用户信息的好方法还是我应该使用其他方式(例如cookie)?

目前我已经通过将完整的 userInfo 存储到 localStorage 来实现,但我认为这不是一个好的做法。

因此,您的意见在这里非常重要。

javascript reactjs jwt frontend local-storage
1个回答
0
投票

将 JWToken 存储在 cookie 中,甚至在请求中将所述 cookie 发送到服务器(而不是添加 auth 标头)是很常见的。
不过,LocalStorage 并不那么安全,因为它对于 xss 攻击(及类似攻击)的安全性不如 cookie(如果 cookie 设置正确)。

当涉及到用户信息时,如果您需要的信息不是太多,其中一些信息实际上可以作为自定义声明存储在 JWT 中。这样,您不需要从数据库中获取“基础数据”,而只需在解析(和验证)JWT 时访问它。

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