From 17356fdd92da2123f989f67a5cebf82c78a3bc12 Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Wed, 17 May 2023 13:52:02 -0700 Subject: [PATCH] fix: self signed jwt token should be string type (#1294) * fix: self signed jwt token should be string type * chore: update sys test --- google/oauth2/service_account.py | 2 +- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes .../system_tests_sync/test_requests.py | 2 +- .../system_tests_sync/test_urllib3.py | 2 +- tests/oauth2/test_service_account.py | 13 ++++++++++++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/google/oauth2/service_account.py b/google/oauth2/service_account.py index bb2670525..a0268970c 100644 --- a/google/oauth2/service_account.py +++ b/google/oauth2/service_account.py @@ -418,7 +418,7 @@ def refresh(self, request): # subject exists, then we should not use self signed JWT. if self._subject is None and self._jwt_credentials is not None: self._jwt_credentials.refresh(request) - self.token = self._jwt_credentials.token + self.token = self._jwt_credentials.token.decode() self.expiry = self._jwt_credentials.expiry else: assertion = self._make_authorization_grant_assertion() diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 8a3cf40107a31dd6d46914ddac7d4194da68c2c6..3e07328e601d6b13602dda5e8e85195e5f9e4de1 100644 GIT binary patch literal 10324 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 z