From 2a71f7b2e9058efe5bfa42eaf58baa3228baf1bc Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Wed, 31 May 2023 15:28:23 -0700 Subject: [PATCH] fix: check id token error response (#1315) --- google/auth/impersonated_credentials.py | 18 +++++++++++++----- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes tests/test_impersonated_credentials.py | 21 +++++++++++++++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/google/auth/impersonated_credentials.py b/google/auth/impersonated_credentials.py index ddafc08ee..7c2f18d74 100644 --- a/google/auth/impersonated_credentials.py +++ b/google/auth/impersonated_credentials.py @@ -438,11 +438,19 @@ def refresh(self, request): self._target_credentials._source_credentials, auth_request=request ) - response = authed_session.post( - url=iam_sign_endpoint, - headers=headers, - data=json.dumps(body).encode("utf-8"), - ) + try: + response = authed_session.post( + url=iam_sign_endpoint, + headers=headers, + data=json.dumps(body).encode("utf-8"), + ) + finally: + authed_session.close() + + if response.status_code != http_client.OK: + raise exceptions.RefreshError( + "Error getting ID token: {}".format(response.json()) + ) id_token = response.json()["token"] self.token = id_token diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 8b9e40871e4bd58f39c47d665e8f71c60add17c4..04a24e425f30530e7b7cf1d224069734fecaf08a 100644 GIT binary patch literal 10324 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 diff --git a/tests/test_impersonated_credentials.py b/tests/test_impersonated_credentials.py index dc091fe61..0c6ca0ce9 100644 --- a/tests/test_impersonated_credentials.py +++ b/tests/test_impersonated_credentials.py @@ -318,6 +318,27 @@ def test_refresh_failure_unauthorzed(self, mock_donor_credentials): assert not credentials.valid assert credentials.expired + def test_refresh_failure(self): + credentials = self.make_credentials(lifetime=None) + credentials.expiry = None + credentials.token = "token" + id_creds = impersonated_credentials.IDTokenCredentials( + credentials, target_audience="audience" + ) + + response = mock.create_autospec(transport.Response, instance=False) + response.status_code = http_client.UNAUTHORIZED + response.json = mock.Mock(return_value="failed to get ID token") + + with mock.patch( + "google.auth.transport.requests.AuthorizedSession.post", + return_value=response, + ): + with pytest.raises(exceptions.RefreshError) as excinfo: + id_creds.refresh(None) + + assert excinfo.match("Error getting ID token") + def test_refresh_failure_http_error(self, mock_donor_credentials): credentials = self.make_credentials(lifetime=None)