我正在创建一个React应用程序,它将在生产中用于大约12-20个客户端,但它可能会在未来增长。此应用程序将需要由2个没有太多后端经验的开发人员维护。
我们希望这是安全的,可扩展的,并尽可能容易维护。在过去,我们尝试使用Node Server服务JWTokens创建我们自己的解决方案,jwtoken使用Redux在整个应用程序中保持身份验证状态。这段代码非常麻烦,对我和我们的两个前端开发人员来说很难理解。我们也尝试过AWS Amplify,但发现它有些限制和紧缩。
我只是想看看其他开发人员在他们的生产级应用程序中使用什么身份验证系统。安全性对这个应用程序也非常重要,因为它将存储敏感的用户数据。如有任何帮助,不胜感激。
有几个API可以相当容易地促进用户身份验证。Firebase Authentication API允许您以多种方式对用户进行身份验证。包括手机短信认证、电子邮件认证等;密码,通过社交媒体个人资料进行身份验证等等。我已经使用这个API很多年了,它确实有一些挫折,但总的来说它很好。
另一种选择是Amazon Cognito,它提供了或多或少相同的功能。虽然AWS Cognito比Firebase便宜,但我建议使用Firebase,因为它更容易使用,总体上更灵活。这个问题有一些很好的答案,详细说明了两个API之间的技术差异