我正在使用Node.js,react和Redux开发具有登录功能的管理页面。
对于登录,我使用了jwt。我的问题是,使用它安全吗?因为,我在我的App周围的商店设置了Provider。在内部,我检查是user.isauthenticated()
还是adminpage
其他loginpage
。
让我担心的是商店。它是登录页面和管理页面中的同一存储。因此,我可以从登录页面访问连接到adminpage的商店。
拥有两个单独的商店会更安全吗?
答案 0 :(得分:1)
前端没有什么是“安全的”。真正的问题是如何在后端处理身份验证/授权。 JWT绝对是一种安全的身份验证方法,但是请记住,任何人都可以解码有效载荷,因此,访问令牌的任何人都可以看到JWT中存储的任何信息。
安全考虑因素是:用户可以使用您的前端服务进行身份验证,然后使用该令牌从您的后端访问不以某种方式属于他们的信息吗?如果您已经正确构建了后端,那么您的前端存储将不会泄漏任何信息,因为它们将无法获得用户尚未被授权查看/编辑的任何信息。
要牢记前端安全性的一种情况: 用户登录后,专有数据由您的前端应用程序存储(无论是redux / localstorage / etc)。当该用户注销时,如果该数据仍保留在存储中,那么另一个用户可以登录然后以某种方式查看它吗?希望不会。您的登出方法应该从该前端应用程序中删除所有敏感数据,这样以后任何用户都将无法访问它。
我希望能有所帮助。我可能没有直接解决redux,但这是因为安全主要是后端问题。除非Redux永久删除未经授权用户以后可以访问的区域的内容,否则不应依赖Redux来确保数据安全。