diff options
author | Alex Bublichenko <alex.bublichenko@oracle.com> | 2019-05-28 11:33:31 -0700 |
---|---|---|
committer | Alex Bublichenko <alex.bublichenko@oracle.com> | 2019-05-28 11:33:31 -0700 |
commit | a9037d21144d8d1659c1996c4bd237222301995b (patch) | |
tree | 7d3cb7811cc2c39daef028e4a5ef3b256c8875a7 /src | |
parent | 281d2e165b674b315529b60d145f1b57a7bdb08e (diff) | |
download | pysaml2-a9037d21144d8d1659c1996c4bd237222301995b.tar.gz |
Use `extension_elements` to extract `KeyInfo`
Instead of explicitly declaring `KeyInfo` as child of `SubjectConfirmationData`, use `extension_elements` to extract `KeyInfo` element(s).
Diffstat (limited to 'src')
-rw-r--r-- | src/saml2/response.py | 5 | ||||
-rw-r--r-- | src/saml2/saml.py | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/src/saml2/response.py b/src/saml2/response.py index 118f7fe0..4c884c30 100644 --- a/src/saml2/response.py +++ b/src/saml2/response.py @@ -722,12 +722,11 @@ class AuthnResponse(StatusResponse): return True def _holder_of_key_confirmed(self, data): - if not data or not data.key_info: + if not data or not data.extension_elements: return False has_keyinfo = False - key_info = data.key_info or () - for element in extension_elements_to_elements(key_info, + for element in extension_elements_to_elements(data.extension_elements, [samlp, saml, xenc, ds]): if isinstance(element, ds.KeyInfo): has_keyinfo = True diff --git a/src/saml2/saml.py b/src/saml2/saml.py index 0d6728e5..bdb1ec60 100644 --- a/src/saml2/saml.py +++ b/src/saml2/saml.py @@ -482,12 +482,8 @@ class SubjectConfirmationDataType_(SamlBase): c_any = {"namespace": "##any", "processContents": "lax", "minOccurs": "0", "maxOccurs": "unbounded"} c_any_attribute = {"namespace": "##other", "processContents": "lax"} - c_children['{http://www.w3.org/2000/09/xmldsig#}KeyInfo'] = ('key_info', - [ds.KeyInfo]) - c_cardinality['key_info'] = {"min": 0, "max": 1} def __init__(self, - key_info=None, not_before=None, not_on_or_after=None, recipient=None, @@ -500,7 +496,6 @@ class SubjectConfirmationDataType_(SamlBase): text=text, extension_elements=extension_elements, extension_attributes=extension_attributes) - self.key_info = key_info self.not_before = not_before self.not_on_or_after = not_on_or_after self.recipient = recipient |