WS security XML support
This commit is contained in:
parent
c4eac4878c
commit
afca69c20b
2
setup.py
2
setup.py
@ -64,7 +64,7 @@ setup(
|
||||
packages=['saml2', 'saml2/xmldsig', 'saml2/xmlenc', 'saml2/s2repoze',
|
||||
'saml2/s2repoze.plugins', "saml2/profile", "saml2/schema",
|
||||
"saml2/extension", "saml2/attributemaps", "saml2/authn_context",
|
||||
"saml2/entity_category", "saml2/userinfo"],
|
||||
"saml2/entity_category", "saml2/userinfo", "saml2/ws"],
|
||||
|
||||
package_dir={'': 'src'},
|
||||
package_data={'': ['xml/*.xml']},
|
||||
|
1
src/saml2/ws/__init__.py
Normal file
1
src/saml2/ws/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
__author__ = 'roland'
|
531
src/saml2/ws/wsaddr.py
Normal file
531
src/saml2/ws/wsaddr.py
Normal file
@ -0,0 +1,531 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# Generated Sun Jun 14 13:38:21 2015 by parse_xsd.py version 0.5.
|
||||
#
|
||||
|
||||
import saml2
|
||||
from saml2 import SamlBase
|
||||
|
||||
|
||||
NAMESPACE = 'http://www.w3.org/2005/08/addressing'
|
||||
|
||||
class ReferenceParametersType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:ReferenceParametersType element """
|
||||
|
||||
c_tag = 'ReferenceParametersType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def reference_parameters_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ReferenceParametersType_, xml_string)
|
||||
|
||||
|
||||
class MetadataType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:MetadataType element """
|
||||
|
||||
c_tag = 'MetadataType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def metadata_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(MetadataType_, xml_string)
|
||||
|
||||
|
||||
class RelationshipTypeOpenEnum_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:RelationshipTypeOpenEnum element """
|
||||
|
||||
c_tag = 'RelationshipTypeOpenEnum'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def relationship_type_open_enum__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(RelationshipTypeOpenEnum_, xml_string)
|
||||
|
||||
class RelationshipType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:RelationshipType element """
|
||||
|
||||
c_tag = 'RelationshipType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'xs:anyURI', 'enumeration': ['http://www.w3.org/2005/08/addressing/reply']}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def relationship_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(RelationshipType_, xml_string)
|
||||
|
||||
|
||||
class AttributedURIType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:AttributedURIType element """
|
||||
|
||||
c_tag = 'AttributedURIType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'anyURI'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def attributed_uri_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedURIType_, xml_string)
|
||||
|
||||
|
||||
class FaultCodesOpenEnumType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:FaultCodesOpenEnumType element """
|
||||
|
||||
c_tag = 'FaultCodesOpenEnumType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def fault_codes_open_enum_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(FaultCodesOpenEnumType_, xml_string)
|
||||
|
||||
|
||||
class FaultCodesType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:FaultCodesType element """
|
||||
|
||||
c_tag = 'FaultCodesType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'xs:QName', 'enumeration': ['tns:InvalidAddressingHeader', 'tns:InvalidAddress', 'tns:InvalidEPR', 'tns:InvalidCardinality', 'tns:MissingAddressInEPR', 'tns:DuplicateMessageID', 'tns:ActionMismatch', 'tns:MessageAddressingHeaderRequired', 'tns:DestinationUnreachable', 'tns:ActionNotSupported', 'tns:EndpointUnavailable']}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def fault_codes_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(FaultCodesType_, xml_string)
|
||||
|
||||
|
||||
class AttributedUnsignedLongType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:AttributedUnsignedLongType element """
|
||||
|
||||
c_tag = 'AttributedUnsignedLongType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'unsignedLong'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def attributed_unsigned_long_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedUnsignedLongType_, xml_string)
|
||||
|
||||
|
||||
class AttributedQNameType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:AttributedQNameType element """
|
||||
|
||||
c_tag = 'AttributedQNameType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'QName'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def attributed_q_name_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedQNameType_, xml_string)
|
||||
|
||||
|
||||
class ProblemIRI(AttributedURIType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:ProblemIRI element """
|
||||
|
||||
c_tag = 'ProblemIRI'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedURIType_.c_children.copy()
|
||||
c_attributes = AttributedURIType_.c_attributes.copy()
|
||||
c_child_order = AttributedURIType_.c_child_order[:]
|
||||
c_cardinality = AttributedURIType_.c_cardinality.copy()
|
||||
|
||||
def problem_iri_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ProblemIRI, xml_string)
|
||||
|
||||
|
||||
class EndpointReferenceType_Address(AttributedURIType_):
|
||||
|
||||
c_tag = 'Address'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedURIType_.c_children.copy()
|
||||
c_attributes = AttributedURIType_.c_attributes.copy()
|
||||
c_child_order = AttributedURIType_.c_child_order[:]
|
||||
c_cardinality = AttributedURIType_.c_cardinality.copy()
|
||||
|
||||
def endpoint_reference_type__address_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(EndpointReferenceType_Address, xml_string)
|
||||
|
||||
|
||||
class ReferenceParameters(ReferenceParametersType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:ReferenceParameters element """
|
||||
|
||||
c_tag = 'ReferenceParameters'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = ReferenceParametersType_.c_children.copy()
|
||||
c_attributes = ReferenceParametersType_.c_attributes.copy()
|
||||
c_child_order = ReferenceParametersType_.c_child_order[:]
|
||||
c_cardinality = ReferenceParametersType_.c_cardinality.copy()
|
||||
|
||||
def reference_parameters_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ReferenceParameters, xml_string)
|
||||
|
||||
|
||||
class Metadata(MetadataType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:Metadata element """
|
||||
|
||||
c_tag = 'Metadata'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = MetadataType_.c_children.copy()
|
||||
c_attributes = MetadataType_.c_attributes.copy()
|
||||
c_child_order = MetadataType_.c_child_order[:]
|
||||
c_cardinality = MetadataType_.c_cardinality.copy()
|
||||
|
||||
def metadata_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Metadata, xml_string)
|
||||
|
||||
|
||||
class MessageID(AttributedURIType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:MessageID element """
|
||||
|
||||
c_tag = 'MessageID'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedURIType_.c_children.copy()
|
||||
c_attributes = AttributedURIType_.c_attributes.copy()
|
||||
c_child_order = AttributedURIType_.c_child_order[:]
|
||||
c_cardinality = AttributedURIType_.c_cardinality.copy()
|
||||
|
||||
def message_id_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(MessageID, xml_string)
|
||||
|
||||
|
||||
class RelatesToType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:RelatesToType element """
|
||||
|
||||
c_tag = 'RelatesToType'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'anyURI'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['RelationshipType'] = ('relationship_type', RelationshipTypeOpenEnum_, False)
|
||||
|
||||
def __init__(self,
|
||||
relationship_type='http://www.w3.org/2005/08/addressing/reply',
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.relationship_type=relationship_type
|
||||
|
||||
def relates_to_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(RelatesToType_, xml_string)
|
||||
|
||||
|
||||
class To(AttributedURIType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:To element """
|
||||
|
||||
c_tag = 'To'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedURIType_.c_children.copy()
|
||||
c_attributes = AttributedURIType_.c_attributes.copy()
|
||||
c_child_order = AttributedURIType_.c_child_order[:]
|
||||
c_cardinality = AttributedURIType_.c_cardinality.copy()
|
||||
|
||||
def to_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(To, xml_string)
|
||||
|
||||
|
||||
class Action(AttributedURIType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:Action element """
|
||||
|
||||
c_tag = 'Action'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedURIType_.c_children.copy()
|
||||
c_attributes = AttributedURIType_.c_attributes.copy()
|
||||
c_child_order = AttributedURIType_.c_child_order[:]
|
||||
c_cardinality = AttributedURIType_.c_cardinality.copy()
|
||||
|
||||
def action_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Action, xml_string)
|
||||
|
||||
|
||||
class RetryAfter(AttributedUnsignedLongType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:RetryAfter element """
|
||||
|
||||
c_tag = 'RetryAfter'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedUnsignedLongType_.c_children.copy()
|
||||
c_attributes = AttributedUnsignedLongType_.c_attributes.copy()
|
||||
c_child_order = AttributedUnsignedLongType_.c_child_order[:]
|
||||
c_cardinality = AttributedUnsignedLongType_.c_cardinality.copy()
|
||||
|
||||
def retry_after_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(RetryAfter, xml_string)
|
||||
|
||||
|
||||
class ProblemHeaderQName(AttributedQNameType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:ProblemHeaderQName element """
|
||||
|
||||
c_tag = 'ProblemHeaderQName'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedQNameType_.c_children.copy()
|
||||
c_attributes = AttributedQNameType_.c_attributes.copy()
|
||||
c_child_order = AttributedQNameType_.c_child_order[:]
|
||||
c_cardinality = AttributedQNameType_.c_cardinality.copy()
|
||||
|
||||
def problem_header_q_name_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ProblemHeaderQName, xml_string)
|
||||
|
||||
|
||||
class ProblemActionType_SoapAction(SamlBase):
|
||||
|
||||
c_tag = 'SoapAction'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'anyURI'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def problem_action_type__soap_action_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ProblemActionType_SoapAction, xml_string)
|
||||
|
||||
|
||||
class ProblemActionType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:ProblemActionType element """
|
||||
|
||||
c_tag = 'ProblemActionType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_children['{http://www.w3.org/2005/08/addressing}Action'] = ('action', Action)
|
||||
c_cardinality['action'] = {"min":0, "max":1}
|
||||
c_children['{http://www.w3.org/2005/08/addressing}SoapAction'] = ('soap_action', ProblemActionType_SoapAction)
|
||||
c_cardinality['soap_action'] = {"min":0, "max":1}
|
||||
c_child_order.extend(['action', 'soap_action'])
|
||||
|
||||
def __init__(self,
|
||||
action=None,
|
||||
soap_action=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.action=action
|
||||
self.soap_action=soap_action
|
||||
|
||||
def problem_action_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ProblemActionType_, xml_string)
|
||||
|
||||
|
||||
class EndpointReferenceType_(SamlBase):
|
||||
"""The http://www.w3.org/2005/08/addressing:EndpointReferenceType element """
|
||||
|
||||
c_tag = 'EndpointReferenceType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_children['{http://www.w3.org/2005/08/addressing}Address'] = ('address', EndpointReferenceType_Address)
|
||||
c_children['{http://www.w3.org/2005/08/addressing}ReferenceParameters'] = ('reference_parameters', ReferenceParameters)
|
||||
c_cardinality['reference_parameters'] = {"min":0, "max":1}
|
||||
c_children['{http://www.w3.org/2005/08/addressing}Metadata'] = ('metadata', Metadata)
|
||||
c_cardinality['metadata'] = {"min":0, "max":1}
|
||||
c_child_order.extend(['address', 'reference_parameters', 'metadata'])
|
||||
|
||||
def __init__(self,
|
||||
address=None,
|
||||
reference_parameters=None,
|
||||
metadata=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.address=address
|
||||
self.reference_parameters=reference_parameters
|
||||
self.metadata=metadata
|
||||
|
||||
def endpoint_reference_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(EndpointReferenceType_, xml_string)
|
||||
|
||||
|
||||
class RelatesTo(RelatesToType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:RelatesTo element """
|
||||
|
||||
c_tag = 'RelatesTo'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = RelatesToType_.c_children.copy()
|
||||
c_attributes = RelatesToType_.c_attributes.copy()
|
||||
c_child_order = RelatesToType_.c_child_order[:]
|
||||
c_cardinality = RelatesToType_.c_cardinality.copy()
|
||||
|
||||
def relates_to_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(RelatesTo, xml_string)
|
||||
|
||||
|
||||
class ReplyTo(EndpointReferenceType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:ReplyTo element """
|
||||
|
||||
c_tag = 'ReplyTo'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EndpointReferenceType_.c_children.copy()
|
||||
c_attributes = EndpointReferenceType_.c_attributes.copy()
|
||||
c_child_order = EndpointReferenceType_.c_child_order[:]
|
||||
c_cardinality = EndpointReferenceType_.c_cardinality.copy()
|
||||
|
||||
def reply_to_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ReplyTo, xml_string)
|
||||
|
||||
|
||||
class From(EndpointReferenceType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:From element """
|
||||
|
||||
c_tag = 'From'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EndpointReferenceType_.c_children.copy()
|
||||
c_attributes = EndpointReferenceType_.c_attributes.copy()
|
||||
c_child_order = EndpointReferenceType_.c_child_order[:]
|
||||
c_cardinality = EndpointReferenceType_.c_cardinality.copy()
|
||||
|
||||
def from_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(From, xml_string)
|
||||
|
||||
|
||||
class FaultTo(EndpointReferenceType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:FaultTo element """
|
||||
|
||||
c_tag = 'FaultTo'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EndpointReferenceType_.c_children.copy()
|
||||
c_attributes = EndpointReferenceType_.c_attributes.copy()
|
||||
c_child_order = EndpointReferenceType_.c_child_order[:]
|
||||
c_cardinality = EndpointReferenceType_.c_cardinality.copy()
|
||||
|
||||
def fault_to_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(FaultTo, xml_string)
|
||||
|
||||
|
||||
class ProblemAction(ProblemActionType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:ProblemAction element """
|
||||
|
||||
c_tag = 'ProblemAction'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = ProblemActionType_.c_children.copy()
|
||||
c_attributes = ProblemActionType_.c_attributes.copy()
|
||||
c_child_order = ProblemActionType_.c_child_order[:]
|
||||
c_cardinality = ProblemActionType_.c_cardinality.copy()
|
||||
|
||||
def problem_action_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ProblemAction, xml_string)
|
||||
|
||||
|
||||
class EndpointReference(EndpointReferenceType_):
|
||||
"""The http://www.w3.org/2005/08/addressing:EndpointReference element """
|
||||
|
||||
c_tag = 'EndpointReference'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EndpointReferenceType_.c_children.copy()
|
||||
c_attributes = EndpointReferenceType_.c_attributes.copy()
|
||||
c_child_order = EndpointReferenceType_.c_child_order[:]
|
||||
c_cardinality = EndpointReferenceType_.c_cardinality.copy()
|
||||
|
||||
def endpoint_reference_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(EndpointReference, xml_string)
|
||||
|
||||
|
||||
ELEMENT_FROM_STRING = {
|
||||
EndpointReference.c_tag: endpoint_reference_from_string,
|
||||
EndpointReferenceType_.c_tag: endpoint_reference_type__from_string,
|
||||
ReferenceParameters.c_tag: reference_parameters_from_string,
|
||||
ReferenceParametersType_.c_tag: reference_parameters_type__from_string,
|
||||
Metadata.c_tag: metadata_from_string,
|
||||
MetadataType_.c_tag: metadata_type__from_string,
|
||||
MessageID.c_tag: message_id_from_string,
|
||||
RelatesTo.c_tag: relates_to_from_string,
|
||||
RelatesToType_.c_tag: relates_to_type__from_string,
|
||||
RelationshipTypeOpenEnum_.c_tag: relationship_type_open_enum__from_string,
|
||||
RelationshipType_.c_tag: relationship_type__from_string,
|
||||
ReplyTo.c_tag: reply_to_from_string,
|
||||
From.c_tag: from_from_string,
|
||||
FaultTo.c_tag: fault_to_from_string,
|
||||
To.c_tag: to_from_string,
|
||||
Action.c_tag: action_from_string,
|
||||
AttributedURIType_.c_tag: attributed_uri_type__from_string,
|
||||
FaultCodesOpenEnumType_.c_tag: fault_codes_open_enum_type__from_string,
|
||||
FaultCodesType_.c_tag: fault_codes_type__from_string,
|
||||
RetryAfter.c_tag: retry_after_from_string,
|
||||
AttributedUnsignedLongType_.c_tag: attributed_unsigned_long_type__from_string,
|
||||
ProblemHeaderQName.c_tag: problem_header_q_name_from_string,
|
||||
AttributedQNameType_.c_tag: attributed_q_name_type__from_string,
|
||||
ProblemIRI.c_tag: problem_iri_from_string,
|
||||
ProblemAction.c_tag: problem_action_from_string,
|
||||
ProblemActionType_.c_tag: problem_action_type__from_string,
|
||||
EndpointReferenceType_Address.c_tag: endpoint_reference_type__address_from_string,
|
||||
ProblemActionType_SoapAction.c_tag: problem_action_type__soap_action_from_string,
|
||||
}
|
||||
|
||||
ELEMENT_BY_TAG = {
|
||||
'EndpointReference': EndpointReference,
|
||||
'EndpointReferenceType': EndpointReferenceType_,
|
||||
'ReferenceParameters': ReferenceParameters,
|
||||
'ReferenceParametersType': ReferenceParametersType_,
|
||||
'Metadata': Metadata,
|
||||
'MetadataType': MetadataType_,
|
||||
'MessageID': MessageID,
|
||||
'RelatesTo': RelatesTo,
|
||||
'RelatesToType': RelatesToType_,
|
||||
'RelationshipTypeOpenEnum': RelationshipTypeOpenEnum_,
|
||||
'RelationshipType': RelationshipType_,
|
||||
'ReplyTo': ReplyTo,
|
||||
'From': From,
|
||||
'FaultTo': FaultTo,
|
||||
'To': To,
|
||||
'Action': Action,
|
||||
'AttributedURIType': AttributedURIType_,
|
||||
'FaultCodesOpenEnumType': FaultCodesOpenEnumType_,
|
||||
'FaultCodesType': FaultCodesType_,
|
||||
'RetryAfter': RetryAfter,
|
||||
'AttributedUnsignedLongType': AttributedUnsignedLongType_,
|
||||
'ProblemHeaderQName': ProblemHeaderQName,
|
||||
'AttributedQNameType': AttributedQNameType_,
|
||||
'ProblemIRI': ProblemIRI,
|
||||
'ProblemAction': ProblemAction,
|
||||
'ProblemActionType': ProblemActionType_,
|
||||
'Address': EndpointReferenceType_Address,
|
||||
'SoapAction': ProblemActionType_SoapAction,
|
||||
}
|
||||
|
||||
|
||||
def factory(tag, **kwargs):
|
||||
return ELEMENT_BY_TAG[tag](**kwargs)
|
||||
|
241
src/saml2/ws/wspol.py
Normal file
241
src/saml2/ws/wspol.py
Normal file
@ -0,0 +1,241 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# Generated Sun Jun 14 13:35:32 2015 by parse_xsd.py version 0.5.
|
||||
#
|
||||
|
||||
import saml2
|
||||
from saml2 import SamlBase
|
||||
|
||||
from saml2.ws import wssec as wsse
|
||||
from saml2.ws import wsutil as wsu
|
||||
|
||||
NAMESPACE = 'http://schemas.xmlsoap.org/ws/2004/09/policy'
|
||||
|
||||
class PolicyReference(SamlBase):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:PolicyReference element """
|
||||
|
||||
c_tag = 'PolicyReference'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['URI'] = ('uri', 'anyURI', True)
|
||||
c_attributes['Digest'] = ('digest', 'base64Binary', False)
|
||||
c_attributes['DigestAlgorithm'] = ('digest_algorithm', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
uri=None,
|
||||
digest=None,
|
||||
digest_algorithm='http://schemas.xmlsoap.org/ws/2004/09/policy/Sha1Exc',
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.uri=uri
|
||||
self.digest=digest
|
||||
self.digest_algorithm=digest_algorithm
|
||||
|
||||
def policy_reference_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(PolicyReference, xml_string)
|
||||
|
||||
|
||||
class AppliesTo(SamlBase):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:AppliesTo element """
|
||||
|
||||
c_tag = 'AppliesTo'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def applies_to_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AppliesTo, xml_string)
|
||||
|
||||
|
||||
class PolicyAttachment(SamlBase):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:PolicyAttachment element """
|
||||
|
||||
c_tag = 'PolicyAttachment'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}AppliesTo'] = ('applies_to', AppliesTo)
|
||||
c_cardinality['policy'] = {"min":0}
|
||||
c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyReference'] = ('policy_reference', [PolicyReference])
|
||||
c_cardinality['policy_reference'] = {"min":0}
|
||||
c_child_order.extend(['applies_to', 'policy', 'policy_reference'])
|
||||
|
||||
def __init__(self,
|
||||
applies_to=None,
|
||||
policy=None,
|
||||
policy_reference=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.applies_to=applies_to
|
||||
self.policy=policy or []
|
||||
self.policy_reference=policy_reference or []
|
||||
|
||||
def policy_attachment_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(PolicyAttachment, xml_string)
|
||||
|
||||
|
||||
class OperatorContentType_(SamlBase):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:OperatorContentType element """
|
||||
|
||||
c_tag = 'OperatorContentType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_cardinality['policy'] = {"min":0}
|
||||
c_cardinality['all'] = {"min":0}
|
||||
c_cardinality['exactly_one'] = {"min":0}
|
||||
c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}PolicyReference'] = ('policy_reference', [PolicyReference])
|
||||
c_cardinality['policy_reference'] = {"min":0}
|
||||
c_child_order.extend(['policy', 'all', 'exactly_one', 'policy_reference'])
|
||||
|
||||
def __init__(self,
|
||||
policy=None,
|
||||
all=None,
|
||||
exactly_one=None,
|
||||
policy_reference=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.policy=policy or []
|
||||
self.all=all or []
|
||||
self.exactly_one=exactly_one or []
|
||||
self.policy_reference=policy_reference or []
|
||||
|
||||
def operator_content_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(OperatorContentType_, xml_string)
|
||||
|
||||
|
||||
class Policy(OperatorContentType_):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:Policy element """
|
||||
|
||||
c_tag = 'Policy'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = OperatorContentType_.c_children.copy()
|
||||
c_attributes = OperatorContentType_.c_attributes.copy()
|
||||
c_child_order = OperatorContentType_.c_child_order[:]
|
||||
c_cardinality = OperatorContentType_.c_cardinality.copy()
|
||||
c_attributes['Name'] = ('name', 'anyURI', False)
|
||||
c_attributes['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Id'] = ('Id', 'tns:OperatorContentType', False)
|
||||
|
||||
def __init__(self,
|
||||
name=None,
|
||||
Id=None,
|
||||
policy=None,
|
||||
all=None,
|
||||
exactly_one=None,
|
||||
policy_reference=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
OperatorContentType_.__init__(self,
|
||||
policy=policy,
|
||||
all=all,
|
||||
exactly_one=exactly_one,
|
||||
policy_reference=policy_reference,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.name=name
|
||||
self.Id=Id
|
||||
|
||||
def policy_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Policy, xml_string)
|
||||
|
||||
|
||||
class All(OperatorContentType_):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:All element """
|
||||
|
||||
c_tag = 'All'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = OperatorContentType_.c_children.copy()
|
||||
c_attributes = OperatorContentType_.c_attributes.copy()
|
||||
c_child_order = OperatorContentType_.c_child_order[:]
|
||||
c_cardinality = OperatorContentType_.c_cardinality.copy()
|
||||
|
||||
def all_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(All, xml_string)
|
||||
|
||||
|
||||
class ExactlyOne(OperatorContentType_):
|
||||
"""The http://schemas.xmlsoap.org/ws/2004/09/policy:ExactlyOne element """
|
||||
|
||||
c_tag = 'ExactlyOne'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = OperatorContentType_.c_children.copy()
|
||||
c_attributes = OperatorContentType_.c_attributes.copy()
|
||||
c_child_order = OperatorContentType_.c_child_order[:]
|
||||
c_cardinality = OperatorContentType_.c_cardinality.copy()
|
||||
|
||||
def exactly_one_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ExactlyOne, xml_string)
|
||||
|
||||
PolicyAttachment.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'] = ('policy', [Policy])
|
||||
OperatorContentType_.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'] = ('policy', [Policy])
|
||||
Policy.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'] = ('policy', [Policy])
|
||||
ExactlyOne.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'] = ('policy', [Policy])
|
||||
All.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'] = ('policy', [Policy])
|
||||
OperatorContentType_.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}All'] = ('all', [All])
|
||||
Policy.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}All'] = ('all', [All])
|
||||
ExactlyOne.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}All'] = ('all', [All])
|
||||
All.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}All'] = ('all', [All])
|
||||
OperatorContentType_.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}ExactlyOne'] = ('exactly_one', [ExactlyOne])
|
||||
Policy.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}ExactlyOne'] = ('exactly_one', [ExactlyOne])
|
||||
ExactlyOne.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}ExactlyOne'] = ('exactly_one', [ExactlyOne])
|
||||
All.c_children['{http://schemas.xmlsoap.org/ws/2004/09/policy}ExactlyOne'] = ('exactly_one', [ExactlyOne])
|
||||
|
||||
ELEMENT_FROM_STRING = {
|
||||
Policy.c_tag: policy_from_string,
|
||||
All.c_tag: all_from_string,
|
||||
ExactlyOne.c_tag: exactly_one_from_string,
|
||||
OperatorContentType_.c_tag: operator_content_type__from_string,
|
||||
PolicyReference.c_tag: policy_reference_from_string,
|
||||
PolicyAttachment.c_tag: policy_attachment_from_string,
|
||||
AppliesTo.c_tag: applies_to_from_string,
|
||||
}
|
||||
|
||||
ELEMENT_BY_TAG = {
|
||||
'Policy': Policy,
|
||||
'All': All,
|
||||
'ExactlyOne': ExactlyOne,
|
||||
'OperatorContentType': OperatorContentType_,
|
||||
'PolicyReference': PolicyReference,
|
||||
'PolicyAttachment': PolicyAttachment,
|
||||
'AppliesTo': AppliesTo,
|
||||
}
|
||||
|
||||
|
||||
def factory(tag, **kwargs):
|
||||
return ELEMENT_BY_TAG[tag](**kwargs)
|
||||
|
546
src/saml2/ws/wssec.py
Normal file
546
src/saml2/ws/wssec.py
Normal file
@ -0,0 +1,546 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# Generated Sun Jun 14 13:29:15 2015 by parse_xsd.py version 0.5.
|
||||
#
|
||||
|
||||
import saml2
|
||||
from saml2 import SamlBase
|
||||
|
||||
from saml2 import xmldsig as ds
|
||||
from saml2.schema import soapenv
|
||||
from saml2.ws import wsutil as wsu
|
||||
|
||||
NAMESPACE = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'
|
||||
|
||||
class AttributedString_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:AttributedString element """
|
||||
|
||||
c_tag = 'AttributedString'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'string'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Id'] = ('Id', 'string', False)
|
||||
|
||||
def __init__(self,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.Id=Id
|
||||
|
||||
def attributed_string__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedString_, xml_string)
|
||||
|
||||
class PasswordString_(AttributedString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:PasswordString element """
|
||||
|
||||
c_tag = 'PasswordString'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedString_.c_children.copy()
|
||||
c_attributes = AttributedString_.c_attributes.copy()
|
||||
c_child_order = AttributedString_.c_child_order[:]
|
||||
c_cardinality = AttributedString_.c_cardinality.copy()
|
||||
c_attributes['Type'] = ('type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
type=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
AttributedString_.__init__(self,
|
||||
Id=Id,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.type=type
|
||||
|
||||
def password_string__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(PasswordString_, xml_string)
|
||||
|
||||
class EncodedString_(AttributedString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:EncodedString element """
|
||||
|
||||
c_tag = 'EncodedString'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedString_.c_children.copy()
|
||||
c_attributes = AttributedString_.c_attributes.copy()
|
||||
c_child_order = AttributedString_.c_child_order[:]
|
||||
c_cardinality = AttributedString_.c_cardinality.copy()
|
||||
c_attributes['EncodingType'] = ('encoding_type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
encoding_type=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
AttributedString_.__init__(self,
|
||||
Id=Id,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.encoding_type=encoding_type
|
||||
|
||||
def encoded_string__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(EncodedString_, xml_string)
|
||||
|
||||
class UsernameTokenType_Username(AttributedString_):
|
||||
|
||||
c_tag = 'Username'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedString_.c_children.copy()
|
||||
c_attributes = AttributedString_.c_attributes.copy()
|
||||
c_child_order = AttributedString_.c_child_order[:]
|
||||
c_cardinality = AttributedString_.c_cardinality.copy()
|
||||
|
||||
def username_token_type__username_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(UsernameTokenType_Username, xml_string)
|
||||
|
||||
class UsernameTokenType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:UsernameTokenType element """
|
||||
|
||||
c_tag = 'UsernameTokenType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_children['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Username'] = ('username', UsernameTokenType_Username)
|
||||
c_attributes['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Id'] = ('Id', 'None', False)
|
||||
c_child_order.extend(['username'])
|
||||
|
||||
def __init__(self,
|
||||
username=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.username=username
|
||||
self.Id=Id
|
||||
|
||||
def username_token_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(UsernameTokenType_, xml_string)
|
||||
|
||||
class BinarySecurityTokenType_(EncodedString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:BinarySecurityTokenType element """
|
||||
|
||||
c_tag = 'BinarySecurityTokenType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EncodedString_.c_children.copy()
|
||||
c_attributes = EncodedString_.c_attributes.copy()
|
||||
c_child_order = EncodedString_.c_child_order[:]
|
||||
c_cardinality = EncodedString_.c_cardinality.copy()
|
||||
c_attributes['ValueType'] = ('value_type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
value_type=None,
|
||||
encoding_type=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
EncodedString_.__init__(self,
|
||||
encoding_type=encoding_type,
|
||||
Id=Id,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.value_type=value_type
|
||||
|
||||
def binary_security_token_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(BinarySecurityTokenType_, xml_string)
|
||||
|
||||
class KeyIdentifierType_(EncodedString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:KeyIdentifierType element """
|
||||
|
||||
c_tag = 'KeyIdentifierType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EncodedString_.c_children.copy()
|
||||
c_attributes = EncodedString_.c_attributes.copy()
|
||||
c_child_order = EncodedString_.c_child_order[:]
|
||||
c_cardinality = EncodedString_.c_cardinality.copy()
|
||||
c_attributes['ValueType'] = ('value_type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
value_type=None,
|
||||
encoding_type=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
EncodedString_.__init__(self,
|
||||
encoding_type=encoding_type,
|
||||
Id=Id,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.value_type=value_type
|
||||
|
||||
def key_identifier_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(KeyIdentifierType_, xml_string)
|
||||
|
||||
class TUsage_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:tUsage element """
|
||||
|
||||
c_tag = 'tUsage'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def t_usage__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(TUsage_, xml_string)
|
||||
|
||||
class ReferenceType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:ReferenceType element """
|
||||
|
||||
c_tag = 'ReferenceType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['URI'] = ('uri', 'anyURI', False)
|
||||
c_attributes['ValueType'] = ('value_type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
uri=None,
|
||||
value_type=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.uri=uri
|
||||
self.value_type=value_type
|
||||
|
||||
def reference_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(ReferenceType_, xml_string)
|
||||
|
||||
class EmbeddedType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:EmbeddedType element """
|
||||
|
||||
c_tag = 'EmbeddedType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['ValueType'] = ('value_type', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
value_type=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.value_type=value_type
|
||||
|
||||
def embedded_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(EmbeddedType_, xml_string)
|
||||
|
||||
class SecurityTokenReferenceType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:SecurityTokenReferenceType element """
|
||||
|
||||
c_tag = 'SecurityTokenReferenceType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Id'] = ('Id', 'None', False)
|
||||
c_attributes['Usage'] = ('Usage', 'None', False)
|
||||
|
||||
def __init__(self,
|
||||
Id=None,
|
||||
Usage=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.Id=Id
|
||||
self.Usage=Usage
|
||||
|
||||
def security_token_reference_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(SecurityTokenReferenceType_, xml_string)
|
||||
|
||||
class SecurityHeaderType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:SecurityHeaderType element """
|
||||
|
||||
c_tag = 'SecurityHeaderType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def security_header_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(SecurityHeaderType_, xml_string)
|
||||
|
||||
class TransformationParametersType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:TransformationParametersType element """
|
||||
|
||||
c_tag = 'TransformationParametersType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def transformation_parameters_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(TransformationParametersType_, xml_string)
|
||||
|
||||
class UsernameToken(UsernameTokenType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:UsernameToken element """
|
||||
|
||||
c_tag = 'UsernameToken'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = UsernameTokenType_.c_children.copy()
|
||||
c_attributes = UsernameTokenType_.c_attributes.copy()
|
||||
c_child_order = UsernameTokenType_.c_child_order[:]
|
||||
c_cardinality = UsernameTokenType_.c_cardinality.copy()
|
||||
|
||||
def username_token_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(UsernameToken, xml_string)
|
||||
|
||||
class BinarySecurityToken(BinarySecurityTokenType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:BinarySecurityToken element """
|
||||
|
||||
c_tag = 'BinarySecurityToken'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = BinarySecurityTokenType_.c_children.copy()
|
||||
c_attributes = BinarySecurityTokenType_.c_attributes.copy()
|
||||
c_child_order = BinarySecurityTokenType_.c_child_order[:]
|
||||
c_cardinality = BinarySecurityTokenType_.c_cardinality.copy()
|
||||
|
||||
def binary_security_token_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(BinarySecurityToken, xml_string)
|
||||
|
||||
|
||||
class Reference(ReferenceType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Reference element """
|
||||
|
||||
c_tag = 'Reference'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = ReferenceType_.c_children.copy()
|
||||
c_attributes = ReferenceType_.c_attributes.copy()
|
||||
c_child_order = ReferenceType_.c_child_order[:]
|
||||
c_cardinality = ReferenceType_.c_cardinality.copy()
|
||||
|
||||
def reference_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Reference, xml_string)
|
||||
|
||||
|
||||
class Embedded(EmbeddedType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Embedded element """
|
||||
|
||||
c_tag = 'Embedded'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EmbeddedType_.c_children.copy()
|
||||
c_attributes = EmbeddedType_.c_attributes.copy()
|
||||
c_child_order = EmbeddedType_.c_child_order[:]
|
||||
c_cardinality = EmbeddedType_.c_cardinality.copy()
|
||||
|
||||
def embedded_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Embedded, xml_string)
|
||||
|
||||
|
||||
class KeyIdentifier(KeyIdentifierType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:KeyIdentifier element """
|
||||
|
||||
c_tag = 'KeyIdentifier'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = KeyIdentifierType_.c_children.copy()
|
||||
c_attributes = KeyIdentifierType_.c_attributes.copy()
|
||||
c_child_order = KeyIdentifierType_.c_child_order[:]
|
||||
c_cardinality = KeyIdentifierType_.c_cardinality.copy()
|
||||
|
||||
def key_identifier_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(KeyIdentifier, xml_string)
|
||||
|
||||
|
||||
class SecurityTokenReference(SecurityTokenReferenceType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:SecurityTokenReference element """
|
||||
|
||||
c_tag = 'SecurityTokenReference'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SecurityTokenReferenceType_.c_children.copy()
|
||||
c_attributes = SecurityTokenReferenceType_.c_attributes.copy()
|
||||
c_child_order = SecurityTokenReferenceType_.c_child_order[:]
|
||||
c_cardinality = SecurityTokenReferenceType_.c_cardinality.copy()
|
||||
|
||||
def security_token_reference_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(SecurityTokenReference, xml_string)
|
||||
|
||||
|
||||
class Security(SecurityHeaderType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Security element """
|
||||
|
||||
c_tag = 'Security'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SecurityHeaderType_.c_children.copy()
|
||||
c_attributes = SecurityHeaderType_.c_attributes.copy()
|
||||
c_child_order = SecurityHeaderType_.c_child_order[:]
|
||||
c_cardinality = SecurityHeaderType_.c_cardinality.copy()
|
||||
|
||||
def security_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Security, xml_string)
|
||||
|
||||
|
||||
class TransformationParameters(TransformationParametersType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:TransformationParameters element """
|
||||
|
||||
c_tag = 'TransformationParameters'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = TransformationParametersType_.c_children.copy()
|
||||
c_attributes = TransformationParametersType_.c_attributes.copy()
|
||||
c_child_order = TransformationParametersType_.c_child_order[:]
|
||||
c_cardinality = TransformationParametersType_.c_cardinality.copy()
|
||||
|
||||
def transformation_parameters_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(TransformationParameters, xml_string)
|
||||
|
||||
|
||||
class Password(PasswordString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Password element """
|
||||
|
||||
c_tag = 'Password'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = PasswordString_.c_children.copy()
|
||||
c_attributes = PasswordString_.c_attributes.copy()
|
||||
c_child_order = PasswordString_.c_child_order[:]
|
||||
c_cardinality = PasswordString_.c_cardinality.copy()
|
||||
|
||||
def password_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Password, xml_string)
|
||||
|
||||
|
||||
class Nonce(EncodedString_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:Nonce element """
|
||||
|
||||
c_tag = 'Nonce'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = EncodedString_.c_children.copy()
|
||||
c_attributes = EncodedString_.c_attributes.copy()
|
||||
c_child_order = EncodedString_.c_child_order[:]
|
||||
c_cardinality = EncodedString_.c_cardinality.copy()
|
||||
|
||||
def nonce_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Nonce, xml_string)
|
||||
|
||||
|
||||
class FaultcodeEnum_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd:FaultcodeEnum element """
|
||||
|
||||
c_tag = 'FaultcodeEnum'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'xsd:QName', 'enumeration': ['wsse:UnsupportedSecurityToken', 'wsse:UnsupportedAlgorithm', 'wsse:InvalidSecurity', 'wsse:InvalidSecurityToken', 'wsse:FailedAuthentication', 'wsse:FailedCheck', 'wsse:SecurityTokenUnavailable']}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def faultcode_enum__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(FaultcodeEnum_, xml_string)
|
||||
|
||||
|
||||
#..................
|
||||
('#', [])
|
||||
ELEMENT_FROM_STRING = {
|
||||
AttributedString_.c_tag: attributed_string__from_string,
|
||||
PasswordString_.c_tag: password_string__from_string,
|
||||
EncodedString_.c_tag: encoded_string__from_string,
|
||||
UsernameTokenType_.c_tag: username_token_type__from_string,
|
||||
BinarySecurityTokenType_.c_tag: binary_security_token_type__from_string,
|
||||
KeyIdentifierType_.c_tag: key_identifier_type__from_string,
|
||||
TUsage_.c_tag: t_usage__from_string,
|
||||
ReferenceType_.c_tag: reference_type__from_string,
|
||||
EmbeddedType_.c_tag: embedded_type__from_string,
|
||||
SecurityTokenReferenceType_.c_tag: security_token_reference_type__from_string,
|
||||
SecurityHeaderType_.c_tag: security_header_type__from_string,
|
||||
TransformationParametersType_.c_tag: transformation_parameters_type__from_string,
|
||||
UsernameToken.c_tag: username_token_from_string,
|
||||
BinarySecurityToken.c_tag: binary_security_token_from_string,
|
||||
Reference.c_tag: reference_from_string,
|
||||
Embedded.c_tag: embedded_from_string,
|
||||
KeyIdentifier.c_tag: key_identifier_from_string,
|
||||
SecurityTokenReference.c_tag: security_token_reference_from_string,
|
||||
Security.c_tag: security_from_string,
|
||||
TransformationParameters.c_tag: transformation_parameters_from_string,
|
||||
Password.c_tag: password_from_string,
|
||||
Nonce.c_tag: nonce_from_string,
|
||||
FaultcodeEnum_.c_tag: faultcode_enum__from_string,
|
||||
UsernameTokenType_Username.c_tag: username_token_type__username_from_string,
|
||||
}
|
||||
|
||||
ELEMENT_BY_TAG = {
|
||||
'AttributedString': AttributedString_,
|
||||
'PasswordString': PasswordString_,
|
||||
'EncodedString': EncodedString_,
|
||||
'UsernameTokenType': UsernameTokenType_,
|
||||
'BinarySecurityTokenType': BinarySecurityTokenType_,
|
||||
'KeyIdentifierType': KeyIdentifierType_,
|
||||
'tUsage': TUsage_,
|
||||
'ReferenceType': ReferenceType_,
|
||||
'EmbeddedType': EmbeddedType_,
|
||||
'SecurityTokenReferenceType': SecurityTokenReferenceType_,
|
||||
'SecurityHeaderType': SecurityHeaderType_,
|
||||
'TransformationParametersType': TransformationParametersType_,
|
||||
'UsernameToken': UsernameToken,
|
||||
'BinarySecurityToken': BinarySecurityToken,
|
||||
'Reference': Reference,
|
||||
'Embedded': Embedded,
|
||||
'KeyIdentifier': KeyIdentifier,
|
||||
'SecurityTokenReference': SecurityTokenReference,
|
||||
'Security': Security,
|
||||
'TransformationParameters': TransformationParameters,
|
||||
'Password': Password,
|
||||
'Nonce': Nonce,
|
||||
'FaultcodeEnum': FaultcodeEnum_,
|
||||
'Username': UsernameTokenType_Username,
|
||||
}
|
||||
|
||||
|
||||
def factory(tag, **kwargs):
|
||||
return ELEMENT_BY_TAG[tag](**kwargs)
|
||||
|
1802
src/saml2/ws/wstrust.py
Normal file
1802
src/saml2/ws/wstrust.py
Normal file
File diff suppressed because it is too large
Load Diff
184
src/saml2/ws/wsutil.py
Normal file
184
src/saml2/ws/wsutil.py
Normal file
@ -0,0 +1,184 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# Generated Sun Jun 14 12:18:10 2015 by parse_xsd.py version 0.5.
|
||||
#
|
||||
|
||||
import saml2
|
||||
from saml2 import SamlBase
|
||||
|
||||
NAMESPACE = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'
|
||||
|
||||
class TTimestampFault_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:tTimestampFault element """
|
||||
|
||||
c_tag = 'tTimestampFault'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
|
||||
def t_timestamp_fault__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(TTimestampFault_, xml_string)
|
||||
|
||||
class AttributedDateTime_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:AttributedDateTime element """
|
||||
|
||||
c_tag = 'AttributedDateTime'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'string'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['Id'] = ('Id', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.Id=Id
|
||||
|
||||
def attributed_date_time__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedDateTime_, xml_string)
|
||||
|
||||
class AttributedURI_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:AttributedURI element """
|
||||
|
||||
c_tag = 'AttributedURI'
|
||||
c_namespace = NAMESPACE
|
||||
c_value_type = {'base': 'anyURI'}
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_attributes['Id'] = ('Id', 'anyURI', False)
|
||||
|
||||
def __init__(self,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.Id=Id
|
||||
|
||||
def attributed_ur_i__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(AttributedURI_, xml_string)
|
||||
|
||||
class Expires(AttributedDateTime_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Expires element """
|
||||
|
||||
c_tag = 'Expires'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedDateTime_.c_children.copy()
|
||||
c_attributes = AttributedDateTime_.c_attributes.copy()
|
||||
c_child_order = AttributedDateTime_.c_child_order[:]
|
||||
c_cardinality = AttributedDateTime_.c_cardinality.copy()
|
||||
|
||||
def expires_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Expires, xml_string)
|
||||
|
||||
class Created(AttributedDateTime_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Created element """
|
||||
|
||||
c_tag = 'Created'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = AttributedDateTime_.c_children.copy()
|
||||
c_attributes = AttributedDateTime_.c_attributes.copy()
|
||||
c_child_order = AttributedDateTime_.c_child_order[:]
|
||||
c_cardinality = AttributedDateTime_.c_cardinality.copy()
|
||||
|
||||
def created_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Created, xml_string)
|
||||
|
||||
class TimestampType_(SamlBase):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:TimestampType element """
|
||||
|
||||
c_tag = 'TimestampType'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = SamlBase.c_children.copy()
|
||||
c_attributes = SamlBase.c_attributes.copy()
|
||||
c_child_order = SamlBase.c_child_order[:]
|
||||
c_cardinality = SamlBase.c_cardinality.copy()
|
||||
c_children['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Created'] = ('created', Created)
|
||||
c_cardinality['created'] = {"min":0, "max":1}
|
||||
c_children['{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Expires'] = ('expires', Expires)
|
||||
c_cardinality['expires'] = {"min":0, "max":1}
|
||||
c_attributes['Id'] = ('Id', 'anyURI', False)
|
||||
c_child_order.extend(['created', 'expires'])
|
||||
|
||||
def __init__(self,
|
||||
created=None,
|
||||
expires=None,
|
||||
Id=None,
|
||||
text=None,
|
||||
extension_elements=None,
|
||||
extension_attributes=None,
|
||||
):
|
||||
SamlBase.__init__(self,
|
||||
text=text,
|
||||
extension_elements=extension_elements,
|
||||
extension_attributes=extension_attributes,
|
||||
)
|
||||
self.created=created
|
||||
self.expires=expires
|
||||
self.Id=Id
|
||||
|
||||
def timestamp_type__from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(TimestampType_, xml_string)
|
||||
|
||||
class Timestamp(TimestampType_):
|
||||
"""The http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd:Timestamp element """
|
||||
|
||||
c_tag = 'Timestamp'
|
||||
c_namespace = NAMESPACE
|
||||
c_children = TimestampType_.c_children.copy()
|
||||
c_attributes = TimestampType_.c_attributes.copy()
|
||||
c_child_order = TimestampType_.c_child_order[:]
|
||||
c_cardinality = TimestampType_.c_cardinality.copy()
|
||||
|
||||
def timestamp_from_string(xml_string):
|
||||
return saml2.create_class_from_xml_string(Timestamp, xml_string)
|
||||
|
||||
#..................
|
||||
AG_commonAtts = [
|
||||
('Id', '', False),
|
||||
]
|
||||
|
||||
ELEMENT_FROM_STRING = {
|
||||
TTimestampFault_.c_tag: t_timestamp_fault__from_string,
|
||||
AttributedDateTime_.c_tag: attributed_date_time__from_string,
|
||||
AttributedURI_.c_tag: attributed_ur_i__from_string,
|
||||
TimestampType_.c_tag: timestamp_type__from_string,
|
||||
Timestamp.c_tag: timestamp_from_string,
|
||||
Expires.c_tag: expires_from_string,
|
||||
Created.c_tag: created_from_string,
|
||||
}
|
||||
|
||||
ELEMENT_BY_TAG = {
|
||||
'tTimestampFault': TTimestampFault_,
|
||||
'AttributedDateTime': AttributedDateTime_,
|
||||
'AttributedURI': AttributedURI_,
|
||||
'TimestampType': TimestampType_,
|
||||
'Timestamp': Timestamp,
|
||||
'Expires': Expires,
|
||||
'Created': Created,
|
||||
}
|
||||
|
||||
|
||||
def factory(tag, **kwargs):
|
||||
return ELEMENT_BY_TAG[tag](**kwargs)
|
||||
|
@ -7,6 +7,7 @@ import imp
|
||||
import sys
|
||||
import types
|
||||
import errno
|
||||
import six
|
||||
|
||||
__version__ = 0.5
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user