firebase / firebaseui-web

FirebaseUI is an open-source JavaScript library for Web that provides simple, customizable UI bindings on top of Firebase SDKs to eliminate boilerplate code and promote best practices.
https://firebase.google.com/
Apache License 2.0
4.53k stars 1.04k forks source link

Auth/SSO for B2B products #510

Open svolotin opened 5 years ago

svolotin commented 5 years ago

Tried firebase auth as a identity provider for our GCP project. Have to say that i liked it a lot. It is plug and play with gread admin SDK.

However, could not use it in our project becouse of out products requirements/use cases. Since out product is B2B there should be:

I tried to think of couple of workaround with custom claims but still many audit related requirements in our product (should be only customers organisations real users in user database etc..) so dream of using firebase started to look quite a dirty hack and had to drop firebase auth from our project.

Otherwise it is really good platform specially when developing on GCP. Please consider settings to disable self sign up so that B2B products could use this nice platform for authentication and user database.

bojeil-google commented 5 years ago

Thanks for the feature request. Disabling user sign up is definitely on our agenda.

WhatsThatItsPat commented 5 years ago

Is there another place to follow progress on this request?

I have a similar B2B use case where all accounts would only be able to be created by users higher up the role hierarchy.

I'd like to have a few super/admin accounts that can invite account-representative-level accounts (internal to our org), who would then add client-level accounts (after we have a contract with them), who would then add various user-level accounts (probably limited to the client's domain).

I understand that I'd be creating the bulk of that logic with Rules and Cloud Functions, and @drySeaWind's bullet points are about what I'm looking for. I imagine disabling sign up and then having a Cloud-Function/Admin-only method like createUserAndSendInvite().