使用localStorage

时间:2017-10-09 20:58:02

标签: javascript reactjs

我正在试图弄清楚如何为我的React应用程序构建基本的登录/注册功能。所以我正在考虑创建一个HoC /父类,它可以执行诸如登录和检查用户是否登录等操作。 所以现在我来找你找出存储用户是否登录的最佳方式。我看到的是使用localStorage。但是任何人都可以访问它,所以我可以存储一个标记为isLoggedIn或其他什么东西?我是否必须加密某些令牌,例如username.password,然后在每个页面加载时调用数据库?这似乎有点多了。或者误解了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用JSON Web令牌(https://github.com/expressjs/cors)。

当用户登录时,请调用后端的say / login以检查数据库的密码。如果成功,请发出包含用户名及其角色的JWT(例如 not 密码)。

您可以随时通过直接使用Javascript验证令牌的加密签名(如果可读内容(例如用户名)已被更改,则签名将不再匹配)来告知用户是否已登录。这样,在令牌过期之前,您无需询问数据库。

  

我看到的是使用localStorage。但任何人都可以访问这个

没有。它还具有JWT个cookie,只能从同一个域访问。原则上, 是一种令牌被盗的方式(例如advantage,或者在您离开时从笔记本电脑上的开发工具中复制),但是您将添加到它的到期时间将使它有效只有几个小时。