Skip to content

Commit 8b8fce6

Browse files
fix: expose universe domain in credentials (#1380)
* fix: expose universe domain in credentials * update
1 parent 01d3770 commit 8b8fce6

File tree

5 files changed

+19
-2
lines changed

5 files changed

+19
-2
lines changed

google/auth/credentials.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ def __init__(self):
5454
self._trust_boundary = None
5555
"""Optional[str]: Encoded string representation of credentials trust
5656
boundary."""
57+
self._universe_domain = "googleapis.com"
58+
"""Optional[str]: The universe domain value, default is googleapis.com
59+
"""
5760

5861
@property
5962
def expired(self):
@@ -85,6 +88,11 @@ def quota_project_id(self):
8588
"""Project to use for quota and billing purposes."""
8689
return self._quota_project_id
8790

91+
@property
92+
def universe_domain(self):
93+
"""The universe domain value."""
94+
return self._universe_domain
95+
8896
@abc.abstractmethod
8997
def refresh(self, request):
9098
"""Refreshes the access token.

google/oauth2/credentials.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def __setstate__(self, d):
173173
self._rapt_token = d.get("_rapt_token")
174174
self._enable_reauth_refresh = d.get("_enable_reauth_refresh")
175175
self._trust_boundary = d.get("_trust_boundary")
176+
self._universe_domain = d.get("_universe_domain")
176177
# The refresh_handler setter should be used to repopulate this.
177178
self._refresh_handler = None
178179

tests/oauth2/test_service_account.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def test_constructor_no_universe_domain(self):
7070
credentials = service_account.Credentials(
7171
SIGNER, self.SERVICE_ACCOUNT_EMAIL, self.TOKEN_URI, universe_domain=None
7272
)
73-
assert credentials._universe_domain == service_account._DEFAULT_UNIVERSE_DOMAIN
73+
assert credentials.universe_domain == service_account._DEFAULT_UNIVERSE_DOMAIN
7474

7575
def test_from_service_account_info(self):
7676
credentials = service_account.Credentials.from_service_account_info(
@@ -88,7 +88,7 @@ def test_from_service_account_info_non_gdu(self):
8888
SERVICE_ACCOUNT_INFO_NON_GDU
8989
)
9090

91-
assert credentials._universe_domain == FAKE_UNIVERSE_DOMAIN
91+
assert credentials.universe_domain == FAKE_UNIVERSE_DOMAIN
9292
assert credentials._always_use_jwt_access
9393

9494
def test_from_service_account_info_args(self):

tests/test_credentials.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def test_credentials_constructor():
4242
assert not credentials.expiry
4343
assert not credentials.expired
4444
assert not credentials.valid
45+
assert credentials.universe_domain == "googleapis.com"
4546

4647

4748
def test_expired_and_valid():

tests/test_external_account.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,13 @@ def test_info(self):
498498
"universe_domain": "dummy_universe.com",
499499
}
500500

501+
def test_universe_domain(self):
502+
credentials = self.make_credentials(universe_domain="dummy_universe.com")
503+
assert credentials.universe_domain == "dummy_universe.com"
504+
505+
credentials = self.make_credentials()
506+
assert credentials.universe_domain == external_account._DEFAULT_UNIVERSE_DOMAIN
507+
501508
def test_info_workforce_pool(self):
502509
credentials = self.make_workforce_pool_credentials(
503510
workforce_pool_user_project=self.WORKFORCE_POOL_USER_PROJECT

0 commit comments

Comments
 (0)