summaryrefslogtreecommitdiff
path: root/jwt
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2020-12-21 18:34:39 -0800
committerGitHub <noreply@github.com>2020-12-21 21:34:39 -0500
commit587997eec3c9ce35d17054d10aa5f2c5403ade4c (patch)
tree95c1cc064a7e505f373b0dded35e24b097676393 /jwt
parent09d24fc9fd916a8e3ebc3bf993340893d74991ee (diff)
downloadpyjwt-587997eec3c9ce35d17054d10aa5f2c5403ade4c.tar.gz
Complete type hinting of jwks_client.py (#578)
Diffstat (limited to 'jwt')
-rw-r--r--jwt/jwks_client.py15
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"))