summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Mencl <vladimir.mencl@reannz.co.nz>2023-01-16 16:49:36 +1300
committerVlad Mencl <vladimir.mencl@reannz.co.nz>2023-01-16 16:49:36 +1300
commit4276e7786f3ad31d2ad21d2b8bffe600fde53ca0 (patch)
treedb504af89c4d5a8ed76eed786393b7351e43d119
parent803eb892542a721fe6c494b91c3924a31ec6e403 (diff)
downloadpysaml2-4276e7786f3ad31d2ad21d2b8bffe600fde53ca0.tar.gz
fix: metadata: process extensions also for entity_descriptor
While extensions configured for an SP are processed (inside SPSSODescriptor), extensions defined at the EntityDescriptor level were ignored. Render the extensions also on the EntityDescriptor level.
-rw-r--r--src/saml2/metadata.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/saml2/metadata.py b/src/saml2/metadata.py
index 47823406..d926345e 100644
--- a/src/saml2/metadata.py
+++ b/src/saml2/metadata.py
@@ -675,6 +675,17 @@ def entity_descriptor(confd):
if confd.contact_person is not None:
entd.contact_person = do_contact_persons_info(confd.contact_person)
+ exts = confd.extensions
+ if exts:
+ if not entd.extensions:
+ entd.extensions = md.Extensions()
+
+ for key, val in exts.items():
+ _ext = do_extensions(key, val)
+ if _ext:
+ for _e in _ext:
+ entd.extensions.add_extension_element(_e)
+
if confd.entity_attributes:
if not entd.extensions:
entd.extensions = md.Extensions()