Skip to content

Commit 2f65410

Browse files
committed
fix(oauth2): enforce sig usage on JWK set
1 parent c793b1c commit 2f65410

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

packages/google-auth/google/oauth2/id_token.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def verify_token(
151151

152152
signing_key = None
153153
for key in jwkset.keys:
154-
if key.key_id == kid:
154+
if kid and key.key_id == kid and key.public_key_use in ("sig", None):
155155
signing_key = key
156156
break
157157

packages/google-auth/tests/oauth2/test_id_token.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,9 @@ def test_verify_token_jwk(decode, get_unverified_header, py_jwk_set, _fetch_cert
9595
_fetch_certs.return_value = data
9696
get_unverified_header.return_value = {"kid": "mock-kid"}
9797

98-
mock_key = mock.Mock()
98+
mock_key = mock.MagicMock()
9999
mock_key.key_id = "mock-kid"
100+
mock_key.public_key_use = "sig"
100101
mock_key.key = mock.sentinel.key
101102
mock_key.algorithm_name = "mock-alg"
102103
py_jwk_set.from_dict.return_value.keys = [mock_key]

0 commit comments

Comments
 (0)