Skip to content

Commit a988e1a

Browse files
authored
Chore: inline Variables that immediately Returned (#690)
* Fix Inline variables & Refactor Code Expression * Fix Linting Issue
1 parent e7a6c02 commit a988e1a

File tree

5 files changed

+35
-43
lines changed

5 files changed

+35
-43
lines changed

jwt/algorithms.py

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -247,22 +247,21 @@ def __init__(self, hash_alg):
247247
self.hash_alg = hash_alg
248248

249249
def prepare_key(self, key):
250-
if isinstance(key, RSAPrivateKey) or isinstance(key, RSAPublicKey):
250+
if isinstance(key, (RSAPrivateKey, RSAPublicKey)):
251251
return key
252252

253-
if isinstance(key, (bytes, str)):
254-
key = force_bytes(key)
255-
256-
try:
257-
if key.startswith(b"ssh-rsa"):
258-
key = load_ssh_public_key(key)
259-
else:
260-
key = load_pem_private_key(key, password=None)
261-
except ValueError:
262-
key = load_pem_public_key(key)
263-
else:
253+
if not isinstance(key, (bytes, str)):
264254
raise TypeError("Expecting a PEM-formatted key.")
265255

256+
key = force_bytes(key)
257+
258+
try:
259+
if key.startswith(b"ssh-rsa"):
260+
key = load_ssh_public_key(key)
261+
else:
262+
key = load_pem_private_key(key, password=None)
263+
except ValueError:
264+
key = load_pem_public_key(key)
266265
return key
267266

268267
@staticmethod
@@ -399,28 +398,25 @@ def __init__(self, hash_alg):
399398
self.hash_alg = hash_alg
400399

401400
def prepare_key(self, key):
402-
if isinstance(key, EllipticCurvePrivateKey) or isinstance(
403-
key, EllipticCurvePublicKey
404-
):
401+
if isinstance(key, (EllipticCurvePrivateKey, EllipticCurvePublicKey)):
405402
return key
406403

407-
if isinstance(key, (bytes, str)):
408-
key = force_bytes(key)
409-
410-
# Attempt to load key. We don't know if it's
411-
# a Signing Key or a Verifying Key, so we try
412-
# the Verifying Key first.
413-
try:
414-
if key.startswith(b"ecdsa-sha2-"):
415-
key = load_ssh_public_key(key)
416-
else:
417-
key = load_pem_public_key(key)
418-
except ValueError:
419-
key = load_pem_private_key(key, password=None)
420-
421-
else:
404+
if not isinstance(key, (bytes, str)):
422405
raise TypeError("Expecting a PEM-formatted key.")
423406

407+
key = force_bytes(key)
408+
409+
# Attempt to load key. We don't know if it's
410+
# a Signing Key or a Verifying Key, so we try
411+
# the Verifying Key first.
412+
try:
413+
if key.startswith(b"ecdsa-sha2-"):
414+
key = load_ssh_public_key(key)
415+
else:
416+
key = load_pem_public_key(key)
417+
except ValueError:
418+
key = load_pem_private_key(key, password=None)
419+
424420
return key
425421

426422
def sign(self, msg, key):

jwt/api_jws.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ def encode(
9090
if headers and "alg" in headers and headers["alg"]:
9191
algorithm = headers["alg"]
9292

93-
if algorithm not in self._valid_algs:
94-
pass
95-
9693
# Header
9794
header = {"typ": self.header_typ, "alg": algorithm}
9895

jwt/api_jwt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ def _validate_aud(self, payload, audience):
204204
if isinstance(audience, str):
205205
audience = [audience]
206206

207-
if not any(aud in audience_claims for aud in audience):
207+
if all(aud not in audience_claims for aud in audience):
208208
raise InvalidAudienceError("Invalid audience")
209209

210210
def _validate_iss(self, payload, issuer):

jwt/jwks_client.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ def get_jwk_set(self) -> PyJWKSet:
2626

2727
def get_signing_keys(self) -> List[PyJWK]:
2828
jwk_set = self.get_jwk_set()
29-
signing_keys = []
29+
signing_keys = [
30+
jwk_set_key
31+
for jwk_set_key in jwk_set.keys
32+
if jwk_set_key.public_key_use in ["sig", None] and jwk_set_key.key_id
33+
]
3034

31-
for jwk_set_key in jwk_set.keys:
32-
if jwk_set_key.public_key_use in ["sig", None] and jwk_set_key.key_id:
33-
signing_keys.append(jwk_set_key)
34-
35-
if len(signing_keys) == 0:
35+
if not signing_keys:
3636
raise PyJWKClientError("The JWKS endpoint did not contain any signing keys")
3737

3838
return signing_keys

jwt/utils.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ def from_base64url_uint(val: Union[str, bytes]) -> int:
5959

6060
def number_to_bytes(num: int, num_bytes: int) -> bytes:
6161
padded_hex = "%0*x" % (2 * num_bytes, num)
62-
big_endian = binascii.a2b_hex(padded_hex.encode("ascii"))
63-
return big_endian
62+
return binascii.a2b_hex(padded_hex.encode("ascii"))
6463

6564

6665
def bytes_to_number(string: bytes) -> int:
@@ -72,7 +71,7 @@ def bytes_from_int(val: int) -> bytes:
7271
byte_length = 0
7372

7473
while remaining != 0:
75-
remaining = remaining >> 8
74+
remaining >>= 8
7675
byte_length += 1
7776

7877
return val.to_bytes(byte_length, "big", signed=False)

0 commit comments

Comments
 (0)