【问题标题】:Is that a secure way? Redux React Authentication这是一种安全的方式吗? Redux React 身份验证
【发布时间】:2018-10-26 20:26:50
【问题描述】:

我正在使用 Node.js、react 和 Redux 开发一个具有登录功能的管理页面。

对于登录,我使用了 jwt。我的问题是,使用它是否安全?因为,我在我的应用程序周围设置了 Provider。在里面我检查user.isauthenticated()然后adminpage否则loginpage

让我担心的是商店。它在登录页面和管理页面中是同一个商店。所以我可以从登录页面访问连接到管理页面的商店。

拥有两个独立的商店不是更安全吗?

【问题讨论】:

  • 我假设您通过所有调用验证服务器上的用户?
  • 静态 isUserAuthenticated() { return localStorage.getItem('token') !==null; }。我在客户端的功能要检查用户是否经过身份验证。如果登录成功,我的服务器会发送一个令牌。
  • 这样他们就可以访问客户端上的管理内容。他们仍然需要调用服务器上的 api。这些端点应该验证他们可以访问该数据。检查服务器上的所有内容.....任何应用程序的基本经验法则。

标签: javascript reactjs security login redux


【解决方案1】:

前端没有什么是“安全的”。真正的问题是您如何在后端处理身份验证/授权。 JWT 绝对是一种安全的身份验证方法,但请记住,任何人都可以解码负载,因此任何可以访问令牌的人都可以看到存储在 JWT 中的任何信息。

安全考虑是这样的:用户是否可以使用您的前端服务进行身份验证,然后使用该令牌从您的后端访问在某种程度上不属于他们的信息?如果您正确构建了后端,那么您的前端商店将无法泄露任何信息,因为它们将无法获取用户未被授权查看/编辑的任何信息。

前端安全性需要牢记的一个场景: 用户登录,专有数据由您的前端应用程序存储(无论是 redux/localstorage/等)。当该用户注销时,如果该数据保留在存储中,其他用户是否可以登录然后以某种方式查看它?希望不会。您的注销方法应该从该前端应用程序中删除所有敏感数据,这样任何未来的用户都无法访问它。

我希望这会有所帮助。我可能没有直接解决 redux,但那是因为安全性主要是后端问题。不应依赖 Redux 来确保数据安全,除非它会从未经授权的用户以后可以访问的区域永久删除内容。

【讨论】:

    猜你喜欢
    • 2016-03-24
    • 1970-01-01
    • 2011-10-15
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多