Open jamesmod0 opened 1 year ago
This issue does not seem to follow the issue template. Make sure you provide all the required information.
I am not sure why the above comment from "google-oss-bot"? I followed the template precisely.
hi @jamesmod0 Its hard to getting what your actually give in issue template. and above google bot is find you mention in here google firebase document base on this it trying understand the process
While attempting to upgrade from firebase v8 to v9 as described here: https://firebase.google.com/docs/web/modular-upgrade
I was led to upgrade AngularFire to version 7 and migrate all my authentication logic to the new method in order to benefit from the modular tree-shaking. As part of this I needed to make several changes to my code, some examples of these changes for context:
Module Imports Before:
Module Imports After:
onAuthStateChanged Before:
onAuthStateChanged After:
After migrating to the new approach it seems that the "TENANT_ID" I provided (see snippet below) is now completely ignored, it isn't even requested at any time by AngularFire during the initialization whereas this was working fine with the old approach.
You can see I'm also providing "FIREBASE_OPTIONS" since this was mentioned in the documentation, though I am confused about the purpose of this token since I already passed
environment.firebaseConfig
into theinitializeApp
call in the module imports.Is this a bug or is there a different way to do this now? I could not even find the word "tenant" mentioned in the recent documentation. I am concerned about this as Google have made it clear that they will not support the old compat approach forever, but I cannot migrate without support for multi-tenancy.
I must also add that the AngularFire documentation needs to be updated. If we are supposed to use this new approach then why is it not documented here: https://github.com/angular/angularfire/blob/7.4.1/docs/auth/getting-started.md ?
Version info
Angular: 14.1.0
Firebase: 9.10.0
AngularFire: 7.4.1
How to reproduce these conditions
Create an AngularFire 7 app following the documented setup steps using the new
provideFirebaseApp(...)
syntax instead of the oldAngularFireModule.initializeApp(...)
syntax. Specify a tenant ID using the DI token "TENANT_ID". Attempt to sign in with any method (eg. email and password). Result: Cannot sign in due to missing tenant ID. AngularFire is trying to sign in without specifying the tenant ID which leads to a 400 Bad Request from firebase since the used sign in method is not enabled (we only have sign in methods enabled on a per tenant basis). This same process works as expected when using the old approach prior to firebase v9 and the use of modular imports.Expected behavior
AngularFire should respect the "TENANT_ID" injection as it did before or clearly explain what the alternative is.
Actual behavior
AngularFire ignores the "TENANT_ID" injection and as a result Firebase auth is unusable.