summaryrefslogtreecommitdiff
path: root/src/saml2/metadata.py
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 /src/saml2/metadata.py
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.
Diffstat (limited to 'src/saml2/metadata.py')
-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()