【问题标题】:Creating a maintainable authentication system for a React App为 React App 创建可维护的身份验证系统
【发布时间】:2021-11-25 04:12:44
【问题描述】:

我正在创建一个 React 应用程序,该应用程序将在开始时用于大约 12-20 个客户的生产环境中,但它在未来的使用中可能会增加。此应用程序需要由 2 名没有太多后端经验的开发人员维护。

我们希望它安全、可扩展且尽可能易于维护。过去,我们尝试使用服务 JWToken 的节点服务器创建自己的解决方案,该节点服务器使用 Redux 在整个应用程序中保持身份验证状态。这段代码变得非常繁琐,对我和我们的 2 个前端开发人员来说很难理解。我们还对 AWS Amplify 进行了试验,但发现它有些限制和限制。

我只是想看看其他开发人员在他们的生产级应用程序中使用了哪些身份验证系统。安全性对于此应用程序也非常重要,因为它将存储敏感的用户数据。任何帮助将不胜感激。

【问题讨论】:

  • 请查看How to Ask 页面 :) 通常,“您使用什么”问题属于“意见”类别。这里还有两个非常不同的问题(“我应该如何处理身份验证”和“我们应该如何处理存储敏感的用户数据”),但后者的范围也相当广泛。
  • WRT 保留一个令牌;它不应该过于复杂。您可以使用 Redux 存储它并使用 connect 在需要它的组件中访问它和/或将其保存在高级 <Context> 中,允许通过 useContext 访问任何组件。 (还有其他解决方案。)

标签: reactjs security authentication react-redux jwt


【解决方案1】:

有几个 API 可以相当容易地促进用户身份验证。 Firebase Authentication API 允许您以多种方式对用户进行身份验证。包括手机短信验证、电子邮件和密码、通过社交媒体配置文件进行验证等等。我已经使用这个 API 很多年了,它确实有一些挫折,但总体来说很棒。

另一种选择是Amazon Cognito,它提供或多或少相同的功能。虽然 AWS Cognito 比 Firebase 便宜,但我建议使用 Firebase,因为它更易于使用且总体上更灵活。

这个question 有一些很好的答案,详细说明了两个 API 之间的技术差异

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2013-01-27
    • 2016-07-18
    • 2012-12-09
    • 1970-01-01
    相关资源
    最近更新 更多