You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Illegal Firebase credential provided. App must be initialized with a valid credential instance error - when using another type of google.auth.Credential object with the SDK. #698
Hi there, I am having some issues using the firebase_admin python client with a credential object from outside the SDK.
In my use case, I want to initialize the firebase_admin SDK using a Service Account impersonation credential to list users within the firebase environment.
When running initialize_app it returns an exception - Illegal Firebase credential provided. App must be initialized with a valid credential instance.
Looking into the firebase-admin-python source code I was able to find the source of the problem. In firebase_admin/__init__.py line 209 the code checks whether the supplied credentials object is an instance of firebase_admin.credentials.Base. If not, then the SDK returns the exception.
I don't understand why this is the case. Why does firebase-admin-python have its own credentials class which seems to just wrap google.oauth2.credentials objects? Why wouldn't the Firebase SDK accept a google.oauth2.credentials object directly?
I was able to work around it by hacking the ApplicationDefault class that comes with the firebase-admin-python SDK, however this seems a bit backwards.