googleapis / googleapis/google-cloud-python
Fetch ID Token for an External Account Credential (w/Impersonation)
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 1.8k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 122
Description
**Problem**
I want to retrieve an ID token for a Credential returned from google.auth.default(), specifically an aws.Credentials that is impersonating a Google Service Account.
Unfortunately, the most straightforward approach seems to be passing the private _impersonated_credentials of the underlying external_account.Credentials to google.auth.impersonated_credentials.IDTokenCredentials().
**Potential Solutions**
* Make the private _impersonated_credentials of the underlying external_account.Credentials a public property
* Add an id_token() method that makes the google.auth.impersonated_credentials.IDTokenCredentials() call with the private _impersonated_credentials.
* Add an external_account.IDTokenCredentials that takes an external_account.Credentials and does the necessary work to fetch an ID token it whatever way is most consistent with the rest of the google auth library.
Please let me know if I'm missing an existing simpler solution.
Contributor guide
Assessment
This issue has not been assessed yet.