We are in the process of building an iOS application using Swift and Firebase. We realized that Firebase's user authentication won't fit our needs and we need to build a custom authentication system outside of Firebase that will integrate with firebase's custom user auth API. The auth has been started and is written in Groovy with Micronaut & MySQL.
A few notes about our app's user authentication:
When a user creates an account they will create a username and password along with authenticating their phone number with a 6 digit code.
User accounts use phone numbers as a unique ID: they must be validated and a phone number can only be used for one account at a time (we use Twilio to send confirmation codes)
There will be guest users that will not have an account but will log in with a phone number
Guest users will be authenticated via text message, tokens stored in their browser, & magic links but will not have a username or password (they will have limited access/ functionality through our website not the iOS app)
We have the complexities and logic of this mapped out, but will likely need some additional help with this development when the time comes.
If a guest user creates an account we need to pull their guest user data into a standard user account and create a username and password.
The authentication system will also integrate with the Firebase's custom auth API to pass a token to the app once the user is authenticated
To send texts with codes or magic links we are using Twilio. We will also need to use Twilio for sending text notifications in other parts of the app down the road.
I will also add that the user creation flow has been completed so far, however it currently does not pass the firebase custom auth token.
What needs to be done moving forward:
Integrate the Firebase custom auth API
Develop error handling for all account creation & authentication
Develop login flow standard users
Develop flows for guest user creation & authentication (including magic links, tokens, & confirmation codes)
37 freelancers are bidding on average $4004 for this job
Hello I am Java expert and have experienced a lot. This project is very interesting for me and perfect fit for my skills. I would like to discuss more details with you. Hope to meet you soon. Best Regards