I'm creating a React Application that will be used in production for around 12-20 clients starting out, but it may grow in use in the future. This application will need to be maintained by 2 developers without much back-end experience.
We want this to be secure, scalable, and as easy as possible to maintain. In the past we've experimented with creating our own solution using a Node Server serving JWTokens which keep the authentication status throughout the app using Redux. This code gets pretty cumbersome and is difficult to understand for me and our 2 front end developers. We've also experimented with AWS Amplify, but found it somewhat limiting and constrictive.
I just wanted to see what other developers are using for Authentication systems in their production-level apps. Security is pretty important to this application as well, as it will be storing sensitive user data. Any help would be appreciated.
CodePudding user response:
There are several API's that can facilitate user authentication fairly easily. The Firebase Authentication API allows you to authenticate users in a multitude of ways. Including phone sms authentication, email & password, authentication via social media profiles and a few more. I've used this API for years, it does have some setbacks but its great overall.
An alternative would be Amazon Cognito which provides more or less the same functionality. While AWS Cognito is cheaper than Firebase, I recommend using Firebase as it's easier to use and overall more flexible.
This question has some great answers detailing the technical differences between both API's