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