使用localStorage进行React身份验证



我正试图弄清楚如何为我的React应用程序构建一个基本的登录/注册功能。因此,我正在考虑创建一个HoC/parent类,用于执行诸如登录和检查用户是否登录之类的操作。所以现在我来找你,找出存储用户是否登录的最佳方法。我看到的是使用localStorage。但任何真正正确的人都可以访问它,所以我可以存储一个标志,上面写着isLoggedIn或其他什么?我是否必须加密一些令牌,如用户名.密码,然后在每次加载页面时调用DB?这似乎有点过分。或者有什么误解了?

您可以使用JSON Web令牌(JWT)。

当用户登录时,调用后台的say/login,根据数据库检查密码。如果成功,则发出包含用户名及其角色的JWT,例如(而不是密码)。

然后,您可以通过直接使用Javascript验证令牌的加密签名来判断用户是否登录(如果可读内容(如用户名)已更改,则签名将不再匹配)。这样,您就不需要询问数据库,直到令牌过期。

我看到的是使用localStorage。但任何真正正确的都可以访问

否。与cookie相比,它还有一个优势,即只能从同一域访问。原则上,您的代币被盗的一种方式(例如XSS攻击,或在您外出时从笔记本电脑上的开发工具复制),但您将添加到其中的过期时间将使其仅在几个小时内有效。

相关内容

最新更新