diff options
author | Vlad Mencl <vladimir.mencl@reannz.co.nz> | 2023-01-16 16:49:36 +1300 |
---|---|---|
committer | Vlad Mencl <vladimir.mencl@reannz.co.nz> | 2023-01-16 16:49:36 +1300 |
commit | 4276e7786f3ad31d2ad21d2b8bffe600fde53ca0 (patch) | |
tree | db504af89c4d5a8ed76eed786393b7351e43d119 | |
parent | 803eb892542a721fe6c494b91c3924a31ec6e403 (diff) | |
download | pysaml2-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.py | 11 |
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() |