reactJs 安全存储

reactJs secure storage

提问人:SoheilYou 提问时间:3/2/2020 最后编辑:SoheilYou 更新时间:1/12/2022 访问量:2825

问:

我是一名后端开发人员,也必须在当前项目中创建前端! 我正在使用 reactJs,我知道为了授权用户,我应该从我的后端 API 中获取一个,然后在下一个请求中使用!所以我应该将(实际上是在客户端浏览器的某个地方)存储!但是我应该把它存放在哪里才能安全呢?api_tokenapi_tokenapi_token

我想到的第一个答案是“本地存储”!但我读过这篇文章: 不要将令牌存储在本地存储中

我已经搜索并找到了 @auth0/auth0-spa-js,但我不知道我可以信任这个包(和类似的包)吗?

这些是我找到的方法!但是,像这样存储敏感数据的正确方法是什么?

reactjs 安全性 本地存储 客户端

评论

0赞 Nagesh Dhope 3/2/2020
将令牌存储在cookie中是更好的解决方案。react-native-secure-storage 是 react-native 包不适用于 Web 应用程序。

答:

-1赞 Joe Lloyd 3/2/2020 #1

切勿在前端代码中存储私有令牌

您应该创建一个只能从特定 url(应用的 url)访问的服务器。此服务器可以具有进行调用所需的机密令牌。该服务器可以将请求转发到您将使用的需要私有令牌的服务。

评论

0赞 SoheilYou 3/25/2020
我看不懂!你能解释更多吗?
0赞 calimses 1/12/2022 #2

身份验证流应该在 Web 上

  1. 将用户/密码详细信息发送到服务器
  2. 服务器验证并返回包含一些详细信息的加密令牌,并将其存储为 HTTP Cookie
  3. 设置受保护的终结点,以便只有具有令牌的用户才能访问它们

安全性 :HTTP Cookie 仅意味着浏览器无法在客户端上访问它,只能访问服务器。但是有人可以简单地将其复制粘贴到他们的 cookie 中,如果您担心或处理敏感内容,您将需要实施额外的安全措施,例如上述措施。 通常,设备管理不是 Web 问题,但您也可以对令牌进行一些验证,例如使令牌在 5 分钟内过期,或在会话结束时过期、DeviceId、浏览器 ID、IP 地址,向他们发送新的未知 IP 已登录的电子邮件等。