我正试图找出如何为我的反应性应用程序构建一个基本的登录/注册功能。因此,我正在考虑创建一个特殊的/父类来执行诸如登录和检查用户是否登录之类的事情。所以,现在我来找您,找出存储用户是否登录的最佳方法。我看到的是使用localStorage。但是任何人都可以访问它,所以我只需要存储一个写着isLoggedIn之类的标志?我是否必须加密一些令牌,如username.password,然后在每次加载页面时调用DB?看来有点过分了。或者有个老婆什么的?
发布于 2017-10-09 22:49:11
您可以使用JSON令牌(JWT)。
当用户登录时,请调用后端的/login以检查数据库中的密码。如果成功,发出一个包含用户名及其角色的JWT (而不是密码)。
然后,您始终可以通过直接使用Javascript验证令牌的加密签名来判断用户是否登录(如果可读内容(如用户名)已被更改,则签名将不再匹配)。这样,在令牌过期之前,不需要对数据库进行查询。
我看到的是使用localStorage。但这是任何人都可以访问的
不是的。它还具有只能从同一个域访问的cookies上的优势。原则上,有一种方法可以让您的令牌被盗(例如,XSS攻击,或者在您不在的时候从笔记本上的开发工具中复制),但是您将添加到其中的过期时间只会使它有效几个小时。
https://stackoverflow.com/questions/46654875
复制相似问题