Skip to content

Commit 00d65d1

Browse files
committed
Fixed get_metadata_claim
1 parent 3c1fded commit 00d65d1

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

src/idpyoidc/client/entity_metadata.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,6 @@ def get_entity_type_claim(self, entity_type, claim):
3434

3535
def __contains__(self, item):
3636
return item in self.metadata
37+
38+
def get(self, item, default=None):
39+
return self.metadata.get(item, default)

src/idpyoidc/client/service_context.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -422,8 +422,16 @@ def map_preferred_to_registered(self, registration_response: Optional[dict] = No
422422
def get_metadata_claim(self, claim, entity_type: Optional[List[str]] = ""):
423423
if entity_type:
424424
for _type in entity_type:
425-
if _type in self.server_metadata:
426-
return self.server_metadata[_type][claim]
427-
return KeyError(f"{claim} not in {entity_type} metadata")
425+
_ent = self.server_metadata.get(_type, None)
426+
if _ent:
427+
_val = _ent.get(claim, None)
428+
if _val:
429+
return _val
428430
else:
429-
return self.provider_info[claim]
431+
for _type in self.server_metadata.keys():
432+
_val = self.server_metadata[_type].get(claim, None)
433+
if _val:
434+
return _val
435+
436+
return KeyError(f"{claim} not in {entity_type} metadata")
437+

0 commit comments

Comments
 (0)