diff options
author | Asif Saif Uddin <auvipy@gmail.com> | 2021-10-15 12:53:58 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-15 12:53:58 +0600 |
commit | f9db1d7b3acbe81daea7bc79cbc731f7c900221f (patch) | |
tree | b56fff6b90db9602f7a07b56ca5e63b6588d4dc2 /jwt | |
parent | 828a20a47ef7af5cddfe12b482a90df07cd1b323 (diff) | |
download | pyjwt-f9db1d7b3acbe81daea7bc79cbc731f7c900221f.tar.gz |
Revert "Remove arbitrary kwargs. (#657)" (#701)
This reverts commit 5fe7f2b28ffcd27a3e520be750858944889112ef.
Diffstat (limited to 'jwt')
-rw-r--r-- | jwt/api_jws.py | 4 | ||||
-rw-r--r-- | jwt/api_jwt.py | 21 |
2 files changed, 12 insertions, 13 deletions
diff --git a/jwt/api_jws.py b/jwt/api_jws.py index 401bb91..f85072e 100644 --- a/jwt/api_jws.py +++ b/jwt/api_jws.py @@ -134,6 +134,7 @@ class PyJWS: key: str = "", algorithms: List[str] = None, options: Dict = None, + **kwargs, ) -> Dict[str, Any]: if options is None: options = {} @@ -162,8 +163,9 @@ class PyJWS: key: str = "", algorithms: List[str] = None, options: Dict = None, + **kwargs, ) -> str: - decoded = self.decode_complete(jwt, key, algorithms, options) + decoded = self.decode_complete(jwt, key, algorithms, options, **kwargs) return decoded["payload"] def get_unverified_header(self, jwt): diff --git a/jwt/api_jwt.py b/jwt/api_jwt.py index 7e21b75..f3b55d3 100644 --- a/jwt/api_jwt.py +++ b/jwt/api_jwt.py @@ -68,9 +68,7 @@ class PyJWT: key: str = "", algorithms: List[str] = None, options: Dict = None, - audience: Optional[Union[str, List[str]]] = None, - issuer: Optional[str] = None, - leeway: Union[float, timedelta] = 0, + **kwargs, ) -> Dict[str, Any]: if options is None: options = {"verify_signature": True} @@ -94,6 +92,7 @@ class PyJWT: key=key, algorithms=algorithms, options=options, + **kwargs, ) try: @@ -104,7 +103,7 @@ class PyJWT: raise DecodeError("Invalid payload string: must be a json object") merged_options = {**self.options, **options} - self._validate_claims(payload, merged_options, audience, issuer, leeway) + self._validate_claims(payload, merged_options, **kwargs) decoded["payload"] = payload return decoded @@ -115,20 +114,18 @@ class PyJWT: key: str = "", algorithms: List[str] = None, options: Dict = None, - audience: Optional[Union[str, List[str]]] = None, - issuer: Optional[str] = None, - leeway: Union[float, timedelta] = 0, + **kwargs, ) -> Dict[str, Any]: - decoded = self.decode_complete( - jwt, key, algorithms, options, audience, issuer, leeway - ) + decoded = self.decode_complete(jwt, key, algorithms, options, **kwargs) return decoded["payload"] - def _validate_claims(self, payload, options, audience, issuer, leeway): + def _validate_claims( + self, payload, options, audience=None, issuer=None, leeway=0, **kwargs + ): if isinstance(leeway, timedelta): leeway = leeway.total_seconds() - if not isinstance(audience, (str, type(None), Iterable)): + if not isinstance(audience, (bytes, str, type(None), Iterable)): raise TypeError("audience must be a string, iterable, or None") self._validate_required_claims(payload, options) |