Open LPLabrys99 opened 1 year ago
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
I'm running into the same issue of firebase_admin not accepting impersonated_credentials.Credentials, is there an ETA for when this might be fixed?
Has anyone figured out another solution?
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.To do this I tried the following:
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. Infirebase_admin/__init__.py
line 209 the code checks whether the suppliedcredentials
object is an instance offirebase_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 wrapgoogle.oauth2.credentials
objects? Why wouldn't the Firebase SDK accept agoogle.oauth2.credentials
object directly?I was able to work around it by hacking the
ApplicationDefault
class that comes with thefirebase-admin-python
SDK, however this seems a bit backwards.In my opinion it would be better if the firebase SDK just made use of the
google.auth
module which has a much better implementation.