From b32fe902b47803fb4a701ed7830d9e7b03fde3fc Mon Sep 17 00:00:00 2001 From: Ivan Kanakarakis Date: Tue, 7 Dec 2021 15:43:32 +0200 Subject: Attribute values are optional Signed-off-by: Ivan Kanakarakis --- src/saml2/mdstore.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/saml2/mdstore.py') diff --git a/src/saml2/mdstore.py b/src/saml2/mdstore.py index 40f7232e..105d8509 100644 --- a/src/saml2/mdstore.py +++ b/src/saml2/mdstore.py @@ -1379,13 +1379,15 @@ class MetadataStore(MetaData): ext = self.__getitem__(entity_id)["extensions"] except KeyError: return res + for elem in ext["extension_elements"]: - if elem["__class__"] == classnames["mdattr_entityattributes"]: - for attr in elem["attribute"]: - if attr["name"] not in res: - res[attr["name"]] = [] - res[attr["name"]] += [v["text"] for v in attr[ - "attribute_value"]] + if elem["__class__"] != classnames["mdattr_entityattributes"]: + continue + for attr in elem["attribute"]: + res[attr["name"]] = [ + *res.get(attr["name"], []), + *(v["text"] for v in attr.get("attribute_value", [])) + ] return res def supported_algorithms(self, entity_id): -- cgit v1.2.1