RC4Community
RC4Community copied to clipboard
TODO: Implement quick commercial auth
Implement React authentication components for:
-
Firebase -
Auth0
Take the simple and direct route first as POC. Then start thinking of adding a "super profile" associated with the user account.
The user id of firebase, auth0, and other providers would be different. Do we have to give an option for choosing auth provider? In that case, I think we need to have a global user_id and associate user_id's by these providers to the one global userId? Or if once auth provider is selected and it does not change, we can go with the id/profile given by the auth provider only.
@abhinavkrin we intend on providing the user (the community builder) a choice over using any provider (standalone or combined). This means a user can choose to either use a standalone provider (1 out of firebase, auth0, gluu, keycloak) or a combined solution (firebase + gluu), with the latter case being for when they start feeling firebase no longer suffices their usecase and they want to integrate an opensourced solution (example gluu) along with it.
Components for each provider should be designed in a way that they are able to satisfice the user's requirements both as standalone or when combined with any other provider.
Also, we cannot proceed with the assumption that a single auth provider would be carried on throughout the lifetime of the community. Most of the community users would start with firebase/auth0 and at some point would definitely feel the need for an opensourced solution, in which case we want to give them oob components with capabilities to do so.
@abhinavkrin more specific answer.
There should be two separate and independent ReactJS components on this PR:
one component handling firebase
one component handling auth0
Any Community Builder using RC4Community should add either component to their site and gain auth via that provider.
Do not, and there is no need to combine the two services into one ReactJS component.
Hope that is clear. Please keep asking questions if you still have doubt.
Hello @RonLek I would like to work on this issue. Will you please confirm whether it is available to work? I am looking forward to hearing back from you. Thank you!