summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Mencl <vladimir.mencl@reannz.co.nz>2023-01-16 17:12:01 +1300
committerVlad Mencl <vladimir.mencl@reannz.co.nz>2023-01-16 17:12:01 +1300
commit2fe02c14b1c08ff7981c878f3360fe5beacdebb2 (patch)
tree7f13d3638748f32d823a0cf261c61cc384c9ce5d
parent4276e7786f3ad31d2ad21d2b8bffe600fde53ca0 (diff)
downloadpysaml2-2fe02c14b1c08ff7981c878f3360fe5beacdebb2.tar.gz
fix: metadata: process extensions also for idp_sso_descriptor
-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 d926345e..ff4450a8 100644
--- a/src/saml2/metadata.py
+++ b/src/saml2/metadata.py
@@ -533,6 +533,17 @@ def do_idpsso_descriptor(conf, cert=None, enc_cert=None):
idpsso = md.IDPSSODescriptor()
idpsso.protocol_support_enumeration = samlp.NAMESPACE
+ exts = conf.getattr("extensions", "idp")
+ if exts:
+ if idpsso.extensions is None:
+ idpsso.extensions = md.Extensions()
+
+ for key, val in exts.items():
+ _ext = do_extensions(key, val)
+ if _ext:
+ for _e in _ext:
+ idpsso.extensions.add_extension_element(_e)
+
endps = conf.getattr("endpoints", "idp")
if endps:
for (endpoint, instlist) in do_endpoints(endps, ENDPOINTS["idp"]).items():