Skip to content

Commit 79e68c0

Browse files
committed
Don't add key if it's already there.
1 parent 5c088c1 commit 79e68c0

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/cryptojwt/key_bundle.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,8 +1140,8 @@ def sort_func(kd1, kd2):
11401140

11411141
def order_key_defs(key_def):
11421142
"""
1143-
Sort a set of key definitions. A key definition that defines more then
1144-
one usage type are splitted into as many definitions as the number of
1143+
Sort a set of key definitions. A key definition that defines more than
1144+
one usage type are split into as many definitions as the number of
11451145
usage types specified. One key definition per usage type.
11461146
11471147
:param key_def: A set of key definitions
@@ -1150,7 +1150,7 @@ def order_key_defs(key_def):
11501150
_int = []
11511151
# First make sure all defs only reference one usage
11521152
for _def in key_def:
1153-
if len(_def["use"]) > 1:
1153+
if isinstance(_def, list) and len(_def["use"]) > 1:
11541154
for _use in _def["use"]:
11551155
_kd = _def.copy()
11561156
_kd["use"] = _use

src/cryptojwt/key_jar.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,9 @@ def _add_key(
506506
if _add_keys[0] not in keys:
507507
keys.append(_add_keys[0])
508508
elif allow_missing_kid:
509-
keys.extend(_add_keys)
509+
for _key in _add_keys:
510+
if _key and _key not in keys:
511+
keys.append(_key)
510512
elif no_kid_issuer:
511513
try:
512514
allowed_kids = no_kid_issuer[issuer_id]

0 commit comments

Comments
 (0)