From 431b0c3fe0315e5b870cd26cccb680b8b9d9731e Mon Sep 17 00:00:00 2001 From: kimamula Date: Sat, 8 Feb 2020 11:41:48 +0900 Subject: [PATCH] fix: set Content-Type header in the request to signBlob API to avoid Invalid JSON payload error --- google/auth/iam.py | 2 +- tests/test_iam.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/google/auth/iam.py b/google/auth/iam.py index 0ab5b5549..4077adb92 100644 --- a/google/auth/iam.py +++ b/google/auth/iam.py @@ -69,7 +69,7 @@ def _make_signing_request(self, message): method = "POST" url = _SIGN_BLOB_URI.format(self._service_account_email) - headers = {} + headers = {"Content-Type": "application/json"} body = json.dumps( {"bytesToSign": base64.b64encode(message).decode("utf-8")} ).encode("utf-8") diff --git a/tests/test_iam.py b/tests/test_iam.py index 52ab9bd82..eeba3de22 100644 --- a/tests/test_iam.py +++ b/tests/test_iam.py @@ -86,6 +86,8 @@ def test_sign_bytes(self): returned_signature = signer.sign("123") assert returned_signature == signature + kwargs = request.call_args.kwargs + assert kwargs.get("headers").get("Content-Type") == "application/json" def test_sign_bytes_failure(self): request = make_request(http_client.UNAUTHORIZED)