diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2020-12-21 18:34:39 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-21 21:34:39 -0500 |
commit | 587997eec3c9ce35d17054d10aa5f2c5403ade4c (patch) | |
tree | 95c1cc064a7e505f373b0dded35e24b097676393 /jwt | |
parent | 09d24fc9fd916a8e3ebc3bf993340893d74991ee (diff) | |
download | pyjwt-587997eec3c9ce35d17054d10aa5f2c5403ade4c.tar.gz |
Complete type hinting of jwks_client.py (#578)
Diffstat (limited to 'jwt')
-rw-r--r-- | jwt/jwks_client.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/jwt/jwks_client.py b/jwt/jwks_client.py index 2e2ff73..a6c0d9f 100644 --- a/jwt/jwks_client.py +++ b/jwt/jwks_client.py @@ -1,24 +1,25 @@ import json import urllib.request +from typing import Any, List -from .api_jwk import PyJWKSet +from .api_jwk import PyJWK, PyJWKSet from .api_jwt import decode_complete as decode_token from .exceptions import PyJWKClientError class PyJWKClient: - def __init__(self, uri): + def __init__(self, uri: str): self.uri = uri - def fetch_data(self): + def fetch_data(self) -> Any: with urllib.request.urlopen(self.uri) as response: return json.load(response) - def get_jwk_set(self): + def get_jwk_set(self) -> PyJWKSet: data = self.fetch_data() return PyJWKSet.from_dict(data) - def get_signing_keys(self): + def get_signing_keys(self) -> List[PyJWK]: jwk_set = self.get_jwk_set() signing_keys = [] @@ -31,7 +32,7 @@ class PyJWKClient: return signing_keys - def get_signing_key(self, kid): + def get_signing_key(self, kid: str) -> PyJWK: signing_keys = self.get_signing_keys() signing_key = None @@ -47,7 +48,7 @@ class PyJWKClient: return signing_key - def get_signing_key_from_jwt(self, token): + def get_signing_key_from_jwt(self, token: str) -> PyJWK: unverified = decode_token(token, options={"verify_signature": False}) header = unverified["header"] return self.get_signing_key(header.get("kid")) |