Files
deb-python-pysaml2/src/saml2/samlp.py
2013-04-21 16:40:02 +02:00

1784 lines
68 KiB
Python

#!/usr/bin/env python
#
# Generated Mon May 2 14:23:33 2011 by parse_xsd.py version 0.4.
#
import saml2
from saml2 import SamlBase
import xmldsig as ds
from saml2 import saml
NAMESPACE = 'urn:oasis:names:tc:SAML:2.0:protocol'
STATUS_SUCCESS = 'urn:oasis:names:tc:SAML:2.0:status:Success'
STATUS_REQUESTER = 'urn:oasis:names:tc:SAML:2.0:status:Requester'
STATUS_RESPONDER = 'urn:oasis:names:tc:SAML:2.0:status:Responder'
STATUS_VERSION_MISMATCH = 'urn:oasis:names:tc:SAML:2.0:status:VersionMismatch'
STATUS_AUTHN_FAILED = 'urn:oasis:names:tc:SAML:2.0:status:AuthnFailed'
STATUS_INVALID_ATTR_NAME_OR_VALUE = (
'urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue')
STATUS_INVALID_NAMEID_POLICY = (
'urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy')
STATUS_NO_AUTHN_CONTEXT = 'urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext'
STATUS_NO_AVAILABLE_IDP = 'urn:oasis:names:tc:SAML:2.0:status:NoAvailableIDP'
STATUS_NO_PASSIVE = 'urn:oasis:names:tc:SAML:2.0:status:NoPassive'
STATUS_NO_SUPPORTED_IDP = 'urn:oasis:names:tc:SAML:2.0:status:NoSupportedIDP'
STATUS_PARTIAL_LOGOUT = 'urn:oasis:names:tc:SAML:2.0:status:PartialLogout'
STATUS_PROXY_COUNT_EXCEEDED = (
'urn:oasis:names:tc:SAML:2.0:status:ProxyCountExceeded')
STATUS_REQUEST_DENIED = 'urn:oasis:names:tc:SAML:2.0:status:RequestDenied'
STATUS_REQUEST_UNSUPPORTED = (
'urn:oasis:names:tc:SAML:2.0:status:RequestUnsupported')
STATUS_REQUEST_VERSION_DEPRECATED = (
'urn:oasis:names:tc:SAML:2.0:status:RequestVersionDeprecated')
STATUS_REQUEST_VERSION_TOO_HIGH = (
'urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooHigh')
STATUS_REQUEST_VERSION_TOO_LOW = (
'urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooLow')
STATUS_RESOURCE_NOT_RECOGNIZED = (
'urn:oasis:names:tc:SAML:2.0:status:ResourceNotRecognized')
STATUS_TOO_MANY_RESPONSES = (
'urn:oasis:names:tc:SAML:2.0:status:TooManyResponses')
STATUS_UNKNOWN_ATTR_PROFILE = (
'urn:oasis:names:tc:SAML:2.0:status:UnknownAttrProfile')
STATUS_UNKNOWN_PRINCIPAL = (
'urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal')
STATUS_UNSUPPORTED_BINDING = (
'urn:oasis:names:tc:SAML:2.0:status:UnsupportedBinding')
class ExtensionsType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ExtensionsType element """
c_tag = 'ExtensionsType'
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 extensions_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ExtensionsType_, xml_string)
class StatusMessage(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusMessage element """
c_tag = 'StatusMessage'
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()
def status_message_from_string(xml_string):
return saml2.create_class_from_xml_string(StatusMessage, xml_string)
class StatusDetailType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusDetailType element """
c_tag = 'StatusDetailType'
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_any = {"namespace":"##any", "processContents":"lax", "minOccurs":"0",
"maxOccurs":"unbounded"}
def status_detail_type__from_string(xml_string):
return saml2.create_class_from_xml_string(StatusDetailType_, xml_string)
class AuthnContextComparisonType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthnContextComparisonType element """
c_tag = 'AuthnContextComparisonType'
c_namespace = NAMESPACE
c_value_type = {'base': 'string', 'enumeration': ['exact', 'minimum',
'maximum', 'better']}
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 authn_context_comparison_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContextComparisonType_,
xml_string)
class NameIDPolicyType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDPolicyType element """
c_tag = 'NameIDPolicyType'
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['Format'] = ('format', 'anyURI', False)
c_attributes['SPNameQualifier'] = ('sp_name_qualifier', 'string', False)
c_attributes['AllowCreate'] = ('allow_create', 'boolean', False)
def __init__(self,
format=None,
sp_name_qualifier=None,
allow_create=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.format=format
self.sp_name_qualifier=sp_name_qualifier
self.allow_create=allow_create
def name_id_policy_type__from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDPolicyType_, xml_string)
class RequesterID(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:RequesterID element """
c_tag = 'RequesterID'
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 requester_id_from_string(xml_string):
return saml2.create_class_from_xml_string(RequesterID, xml_string)
class IDPEntryType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:IDPEntryType element """
c_tag = 'IDPEntryType'
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['ProviderID'] = ('provider_id', 'anyURI', True)
c_attributes['Name'] = ('name', 'string', False)
c_attributes['Loc'] = ('loc', 'anyURI', False)
def __init__(self,
provider_id=None,
name=None,
loc=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.provider_id=provider_id
self.name=name
self.loc=loc
def idp_entry_type__from_string(xml_string):
return saml2.create_class_from_xml_string(IDPEntryType_, xml_string)
class GetComplete(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:GetComplete element """
c_tag = 'GetComplete'
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 get_complete_from_string(xml_string):
return saml2.create_class_from_xml_string(GetComplete, xml_string)
class Artifact(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Artifact element """
c_tag = 'Artifact'
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()
def artifact_from_string(xml_string):
return saml2.create_class_from_xml_string(Artifact, xml_string)
class NewID(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NewID element """
c_tag = 'NewID'
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()
def new_id_from_string(xml_string):
return saml2.create_class_from_xml_string(NewID, xml_string)
class NewEncryptedID(saml.EncryptedElementType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NewEncryptedID element """
c_tag = 'NewEncryptedID'
c_namespace = NAMESPACE
c_children = saml.EncryptedElementType_.c_children.copy()
c_attributes = saml.EncryptedElementType_.c_attributes.copy()
c_child_order = saml.EncryptedElementType_.c_child_order[:]
c_cardinality = saml.EncryptedElementType_.c_cardinality.copy()
def new_encrypted_id_from_string(xml_string):
return saml2.create_class_from_xml_string(NewEncryptedID, xml_string)
class TerminateType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:TerminateType element """
c_tag = 'TerminateType'
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 terminate_type__from_string(xml_string):
return saml2.create_class_from_xml_string(TerminateType_, xml_string)
class SessionIndex(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:SessionIndex element """
c_tag = 'SessionIndex'
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()
def session_index_from_string(xml_string):
return saml2.create_class_from_xml_string(SessionIndex, xml_string)
class Extensions(ExtensionsType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Extensions element """
c_tag = 'Extensions'
c_namespace = NAMESPACE
c_children = ExtensionsType_.c_children.copy()
c_attributes = ExtensionsType_.c_attributes.copy()
c_child_order = ExtensionsType_.c_child_order[:]
c_cardinality = ExtensionsType_.c_cardinality.copy()
def extensions_from_string(xml_string):
return saml2.create_class_from_xml_string(Extensions, xml_string)
class StatusDetail(StatusDetailType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusDetail element """
c_tag = 'StatusDetail'
c_namespace = NAMESPACE
c_children = StatusDetailType_.c_children.copy()
c_attributes = StatusDetailType_.c_attributes.copy()
c_child_order = StatusDetailType_.c_child_order[:]
c_cardinality = StatusDetailType_.c_cardinality.copy()
def status_detail_from_string(xml_string):
return saml2.create_class_from_xml_string(StatusDetail, xml_string)
class RequestAbstractType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:RequestAbstractType element """
c_tag = 'RequestAbstractType'
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['{urn:oasis:names:tc:SAML:2.0:assertion}Issuer'] = ('issuer',
saml.Issuer)
c_cardinality['issuer'] = {"min": 0, "max": 1}
c_children['{http://www.w3.org/2000/09/xmldsig#}Signature'] = ('signature',
ds.Signature)
c_cardinality['signature'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Extensions'] = (
'extensions', Extensions)
c_cardinality['extensions'] = {"min": 0, "max": 1}
c_attributes['ID'] = ('id', 'ID', True)
c_attributes['Version'] = ('version', 'string', True)
c_attributes['IssueInstant'] = ('issue_instant', 'dateTime', True)
c_attributes['Destination'] = ('destination', 'anyURI', False)
c_attributes['Consent'] = ('consent', 'anyURI', False)
c_child_order.extend(['issuer', 'signature', 'extensions'])
def __init__(self,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.issuer=issuer
self.signature=signature
self.extensions=extensions
self.id=id
self.version=version
self.issue_instant=issue_instant
self.destination=destination
self.consent=consent
class AssertionIDRequestType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AssertionIDRequestType element """
c_tag = 'AssertionIDRequestType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionIDRef'] = (
'assertion_id_ref', [saml.AssertionIDRef])
c_cardinality['assertion_id_ref'] = {"min":1}
c_child_order.extend(['assertion_id_ref'])
def __init__(self,
assertion_id_ref=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.assertion_id_ref=assertion_id_ref or []
def assertion_id_request_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AssertionIDRequestType_, xml_string)
class SubjectQueryAbstractType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:SubjectQueryAbstractType element """
c_tag = 'SubjectQueryAbstractType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Subject'] = ('subject',
saml.Subject)
c_child_order.extend(['subject'])
def __init__(self,
subject=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.subject=subject
class RequestedAuthnContextType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:RequestedAuthnContextType element """
c_tag = 'RequestedAuthnContextType'
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['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextClassRef'] = (
'authn_context_class_ref',
[saml.AuthnContextClassRef])
c_cardinality['authn_context_class_ref'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextDeclRef'] = (
'authn_context_decl_ref',
[saml.AuthnContextDeclRef])
c_cardinality['authn_context_decl_ref'] = {"min": 0}
c_attributes['Comparison'] = ('comparison', AuthnContextComparisonType_, False)
c_child_order.extend(['authn_context_class_ref', 'authn_context_decl_ref'])
def __init__(self,
authn_context_class_ref=None,
authn_context_decl_ref=None,
comparison=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.authn_context_class_ref=authn_context_class_ref or []
self.authn_context_decl_ref=authn_context_decl_ref or []
self.comparison=comparison
def requested_authn_context_type__from_string(xml_string):
return saml2.create_class_from_xml_string(RequestedAuthnContextType_,
xml_string)
class AttributeQueryType_(SubjectQueryAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AttributeQueryType element """
c_tag = 'AttributeQueryType'
c_namespace = NAMESPACE
c_children = SubjectQueryAbstractType_.c_children.copy()
c_attributes = SubjectQueryAbstractType_.c_attributes.copy()
c_child_order = SubjectQueryAbstractType_.c_child_order[:]
c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Attribute'] = ('attribute',
[saml.Attribute])
c_cardinality['attribute'] = {"min": 0}
c_child_order.extend(['attribute'])
def __init__(self,
attribute=None,
subject=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SubjectQueryAbstractType_.__init__(self,
subject=subject,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.attribute=attribute or []
def attribute_query_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AttributeQueryType_, xml_string)
class AuthzDecisionQueryType_(SubjectQueryAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthzDecisionQueryType element """
c_tag = 'AuthzDecisionQueryType'
c_namespace = NAMESPACE
c_children = SubjectQueryAbstractType_.c_children.copy()
c_attributes = SubjectQueryAbstractType_.c_attributes.copy()
c_child_order = SubjectQueryAbstractType_.c_child_order[:]
c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Action'] = ('action',
[saml.Action])
c_cardinality['action'] = {"min": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Evidence'] = ('evidence',
saml.Evidence)
c_cardinality['evidence'] = {"min": 0, "max": 1}
c_attributes['Resource'] = ('resource', 'anyURI', True)
c_child_order.extend(['action', 'evidence'])
def __init__(self,
action=None,
evidence=None,
resource=None,
subject=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SubjectQueryAbstractType_.__init__(self,
subject=subject,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.action=action or []
self.evidence=evidence
self.resource=resource
def authz_decision_query_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthzDecisionQueryType_,
xml_string)
class NameIDPolicy(NameIDPolicyType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDPolicy element """
c_tag = 'NameIDPolicy'
c_namespace = NAMESPACE
c_children = NameIDPolicyType_.c_children.copy()
c_attributes = NameIDPolicyType_.c_attributes.copy()
c_child_order = NameIDPolicyType_.c_child_order[:]
c_cardinality = NameIDPolicyType_.c_cardinality.copy()
def name_id_policy_from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDPolicy, xml_string)
class IDPEntry(IDPEntryType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:IDPEntry element """
c_tag = 'IDPEntry'
c_namespace = NAMESPACE
c_children = IDPEntryType_.c_children.copy()
c_attributes = IDPEntryType_.c_attributes.copy()
c_child_order = IDPEntryType_.c_child_order[:]
c_cardinality = IDPEntryType_.c_cardinality.copy()
def idp_entry_from_string(xml_string):
return saml2.create_class_from_xml_string(IDPEntry, xml_string)
class ArtifactResolveType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResolveType element """
c_tag = 'ArtifactResolveType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Artifact'] = ('artifact',
Artifact)
c_child_order.extend(['artifact'])
def __init__(self,
artifact=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.artifact=artifact
def artifact_resolve_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ArtifactResolveType_, xml_string)
class Terminate(TerminateType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Terminate element """
c_tag = 'Terminate'
c_namespace = NAMESPACE
c_children = TerminateType_.c_children.copy()
c_attributes = TerminateType_.c_attributes.copy()
c_child_order = TerminateType_.c_child_order[:]
c_cardinality = TerminateType_.c_cardinality.copy()
def terminate_from_string(xml_string):
return saml2.create_class_from_xml_string(Terminate, xml_string)
class LogoutRequestType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:LogoutRequestType element """
c_tag = 'LogoutRequestType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}BaseID'] = ('base_id', saml.BaseID)
c_cardinality['base_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id', saml.NameID)
c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = ('encrypted_id', saml.EncryptedID)
c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}SessionIndex'] = ('session_index', [SessionIndex])
c_cardinality['session_index'] = {"min": 0}
c_attributes['Reason'] = ('reason', 'string', False)
c_attributes['NotOnOrAfter'] = ('not_on_or_after', 'dateTime', False)
c_child_order.extend(['base_id', 'name_id', 'encrypted_id', 'session_index'])
def __init__(self,
base_id=None,
name_id=None,
encrypted_id=None,
session_index=None,
reason=None,
not_on_or_after=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.base_id=base_id
self.name_id=name_id
self.encrypted_id=encrypted_id
self.session_index=session_index or []
self.reason=reason
self.not_on_or_after=not_on_or_after
def logout_request_type__from_string(xml_string):
return saml2.create_class_from_xml_string(LogoutRequestType_, xml_string)
class NameIDMappingRequestType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingRequestType
element """
c_tag = 'NameIDMappingRequestType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}BaseID'] = ('base_id', saml.BaseID)
c_cardinality['base_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id', saml.NameID)
c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = ('encrypted_id', saml.EncryptedID)
c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}NameIDPolicy'] = ('name_id_policy', NameIDPolicy)
c_child_order.extend(['base_id', 'name_id', 'encrypted_id', 'name_id_policy'])
def __init__(self,
base_id=None,
name_id=None,
encrypted_id=None,
name_id_policy=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.base_id=base_id
self.name_id=name_id
self.encrypted_id=encrypted_id
self.name_id_policy=name_id_policy
def name_id_mapping_request_type__from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDMappingRequestType_, xml_string)
class AssertionIDRequest(AssertionIDRequestType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AssertionIDRequest element """
c_tag = 'AssertionIDRequest'
c_namespace = NAMESPACE
c_children = AssertionIDRequestType_.c_children.copy()
c_attributes = AssertionIDRequestType_.c_attributes.copy()
c_child_order = AssertionIDRequestType_.c_child_order[:]
c_cardinality = AssertionIDRequestType_.c_cardinality.copy()
def assertion_id_request_from_string(xml_string):
return saml2.create_class_from_xml_string(AssertionIDRequest, xml_string)
class SubjectQuery(SubjectQueryAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:SubjectQuery element """
c_tag = 'SubjectQuery'
c_namespace = NAMESPACE
c_children = SubjectQueryAbstractType_.c_children.copy()
c_attributes = SubjectQueryAbstractType_.c_attributes.copy()
c_child_order = SubjectQueryAbstractType_.c_child_order[:]
c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy()
def subject_query_from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectQuery, xml_string)
class RequestedAuthnContext(RequestedAuthnContextType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:RequestedAuthnContext element """
c_tag = 'RequestedAuthnContext'
c_namespace = NAMESPACE
c_children = RequestedAuthnContextType_.c_children.copy()
c_attributes = RequestedAuthnContextType_.c_attributes.copy()
c_child_order = RequestedAuthnContextType_.c_child_order[:]
c_cardinality = RequestedAuthnContextType_.c_cardinality.copy()
def requested_authn_context_from_string(xml_string):
return saml2.create_class_from_xml_string(RequestedAuthnContext, xml_string)
class AttributeQuery(AttributeQueryType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AttributeQuery element """
c_tag = 'AttributeQuery'
c_namespace = NAMESPACE
c_children = AttributeQueryType_.c_children.copy()
c_attributes = AttributeQueryType_.c_attributes.copy()
c_child_order = AttributeQueryType_.c_child_order[:]
c_cardinality = AttributeQueryType_.c_cardinality.copy()
def attribute_query_from_string(xml_string):
return saml2.create_class_from_xml_string(AttributeQuery, xml_string)
class AuthzDecisionQuery(AuthzDecisionQueryType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthzDecisionQuery element """
c_tag = 'AuthzDecisionQuery'
c_namespace = NAMESPACE
c_children = AuthzDecisionQueryType_.c_children.copy()
c_attributes = AuthzDecisionQueryType_.c_attributes.copy()
c_child_order = AuthzDecisionQueryType_.c_child_order[:]
c_cardinality = AuthzDecisionQueryType_.c_cardinality.copy()
def authz_decision_query_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthzDecisionQuery, xml_string)
class IDPListType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:IDPListType element """
c_tag = 'IDPListType'
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['{urn:oasis:names:tc:SAML:2.0:protocol}IDPEntry'] = ('idp_entry', [IDPEntry])
c_cardinality['idp_entry'] = {"min":1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}GetComplete'] = ('get_complete', GetComplete)
c_cardinality['get_complete'] = {"min": 0, "max": 1}
c_child_order.extend(['idp_entry', 'get_complete'])
def __init__(self,
idp_entry=None,
get_complete=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.idp_entry=idp_entry or []
self.get_complete=get_complete
def idp_list_type__from_string(xml_string):
return saml2.create_class_from_xml_string(IDPListType_, xml_string)
class ArtifactResolve(ArtifactResolveType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResolve element """
c_tag = 'ArtifactResolve'
c_namespace = NAMESPACE
c_children = ArtifactResolveType_.c_children.copy()
c_attributes = ArtifactResolveType_.c_attributes.copy()
c_child_order = ArtifactResolveType_.c_child_order[:]
c_cardinality = ArtifactResolveType_.c_cardinality.copy()
def artifact_resolve_from_string(xml_string):
return saml2.create_class_from_xml_string(ArtifactResolve, xml_string)
class ManageNameIDRequestType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDRequestType element """
c_tag = 'ManageNameIDRequestType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id',
saml.NameID)
c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = (
'encrypted_id',
saml.EncryptedID)
c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}NewID'] = ('new_id',
NewID)
c_cardinality['new_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}NewEncryptedID'] = (
'new_encrypted_id',
NewEncryptedID)
c_cardinality['new_encrypted_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Terminate'] = ('terminate',
Terminate)
c_cardinality['terminate'] = {"min": 0, "max": 1}
c_child_order.extend(['name_id', 'encrypted_id', 'new_id',
'new_encrypted_id', 'terminate'])
def __init__(self,
name_id=None,
encrypted_id=None,
new_id=None,
new_encrypted_id=None,
terminate=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.name_id=name_id
self.encrypted_id=encrypted_id
self.new_id=new_id
self.new_encrypted_id=new_encrypted_id
self.terminate=terminate
def manage_name_id_request_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ManageNameIDRequestType_, xml_string)
class LogoutRequest(LogoutRequestType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:LogoutRequest element """
c_tag = 'LogoutRequest'
c_namespace = NAMESPACE
c_children = LogoutRequestType_.c_children.copy()
c_attributes = LogoutRequestType_.c_attributes.copy()
c_child_order = LogoutRequestType_.c_child_order[:]
c_cardinality = LogoutRequestType_.c_cardinality.copy()
def logout_request_from_string(xml_string):
return saml2.create_class_from_xml_string(LogoutRequest, xml_string)
class NameIDMappingRequest(NameIDMappingRequestType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingRequest element """
c_tag = 'NameIDMappingRequest'
c_namespace = NAMESPACE
c_children = NameIDMappingRequestType_.c_children.copy()
c_attributes = NameIDMappingRequestType_.c_attributes.copy()
c_child_order = NameIDMappingRequestType_.c_child_order[:]
c_cardinality = NameIDMappingRequestType_.c_cardinality.copy()
def name_id_mapping_request_from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDMappingRequest, xml_string)
class AuthnQueryType_(SubjectQueryAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthnQueryType element """
c_tag = 'AuthnQueryType'
c_namespace = NAMESPACE
c_children = SubjectQueryAbstractType_.c_children.copy()
c_attributes = SubjectQueryAbstractType_.c_attributes.copy()
c_child_order = SubjectQueryAbstractType_.c_child_order[:]
c_cardinality = SubjectQueryAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}RequestedAuthnContext'] = (
'requested_authn_context',
RequestedAuthnContext)
c_cardinality['requested_authn_context'] = {"min": 0, "max": 1}
c_attributes['SessionIndex'] = ('session_index', 'string', False)
c_child_order.extend(['requested_authn_context'])
def __init__(self,
requested_authn_context=None,
session_index=None,
subject=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SubjectQueryAbstractType_.__init__(self,
subject=subject,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.requested_authn_context=requested_authn_context
self.session_index=session_index
def authn_query_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnQueryType_, xml_string)
class IDPList(IDPListType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:IDPList element """
c_tag = 'IDPList'
c_namespace = NAMESPACE
c_children = IDPListType_.c_children.copy()
c_attributes = IDPListType_.c_attributes.copy()
c_child_order = IDPListType_.c_child_order[:]
c_cardinality = IDPListType_.c_cardinality.copy()
def idp_list_from_string(xml_string):
return saml2.create_class_from_xml_string(IDPList, xml_string)
class ManageNameIDRequest(ManageNameIDRequestType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDRequest element """
c_tag = 'ManageNameIDRequest'
c_namespace = NAMESPACE
c_children = ManageNameIDRequestType_.c_children.copy()
c_attributes = ManageNameIDRequestType_.c_attributes.copy()
c_child_order = ManageNameIDRequestType_.c_child_order[:]
c_cardinality = ManageNameIDRequestType_.c_cardinality.copy()
def manage_name_id_request_from_string(xml_string):
return saml2.create_class_from_xml_string(ManageNameIDRequest, xml_string)
class AuthnQuery(AuthnQueryType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthnQuery element """
c_tag = 'AuthnQuery'
c_namespace = NAMESPACE
c_children = AuthnQueryType_.c_children.copy()
c_attributes = AuthnQueryType_.c_attributes.copy()
c_child_order = AuthnQueryType_.c_child_order[:]
c_cardinality = AuthnQueryType_.c_cardinality.copy()
def authn_query_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnQuery, xml_string)
class ScopingType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ScopingType element """
c_tag = 'ScopingType'
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['{urn:oasis:names:tc:SAML:2.0:protocol}IDPList'] = ('idp_list', IDPList)
c_cardinality['idp_list'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}RequesterID'] = ('requester_id', [RequesterID])
c_cardinality['requester_id'] = {"min": 0}
c_attributes['ProxyCount'] = ('proxy_count', 'nonNegativeInteger', False)
c_child_order.extend(['idp_list', 'requester_id'])
def __init__(self,
idp_list=None,
requester_id=None,
proxy_count=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.idp_list=idp_list
self.requester_id=requester_id or []
self.proxy_count=proxy_count
def scoping_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ScopingType_, xml_string)
class Scoping(ScopingType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Scoping element """
c_tag = 'Scoping'
c_namespace = NAMESPACE
c_children = ScopingType_.c_children.copy()
c_attributes = ScopingType_.c_attributes.copy()
c_child_order = ScopingType_.c_child_order[:]
c_cardinality = ScopingType_.c_cardinality.copy()
def scoping_from_string(xml_string):
return saml2.create_class_from_xml_string(Scoping, xml_string)
class AuthnRequestType_(RequestAbstractType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthnRequestType element """
c_tag = 'AuthnRequestType'
c_namespace = NAMESPACE
c_children = RequestAbstractType_.c_children.copy()
c_attributes = RequestAbstractType_.c_attributes.copy()
c_child_order = RequestAbstractType_.c_child_order[:]
c_cardinality = RequestAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Subject'] = (
'subject', saml.Subject)
c_cardinality['subject'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}NameIDPolicy'] = (
'name_id_policy', NameIDPolicy)
c_cardinality['name_id_policy'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Conditions'] = (
'conditions', saml.Conditions)
c_cardinality['conditions'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}RequestedAuthnContext'] = (
'requested_authn_context', RequestedAuthnContext)
c_cardinality['requested_authn_context'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Scoping'] = (
'scoping', Scoping)
c_cardinality['scoping'] = {"min": 0, "max": 1}
c_attributes['ForceAuthn'] = ('force_authn', 'boolean', False)
c_attributes['IsPassive'] = ('is_passive', 'boolean', False)
c_attributes['ProtocolBinding'] = ('protocol_binding', 'anyURI', False)
c_attributes['AssertionConsumerServiceIndex'] = (
'assertion_consumer_service_index', 'unsignedShort', False)
c_attributes['AssertionConsumerServiceURL'] = (
'assertion_consumer_service_url', 'anyURI', False)
c_attributes['AttributeConsumingServiceIndex'] = (
'attribute_consuming_service_index', 'unsignedShort', False)
c_attributes['ProviderName'] = ('provider_name', 'string', False)
c_child_order.extend(['subject', 'name_id_policy', 'conditions',
'requested_authn_context', 'scoping'])
def __init__(self,
subject=None,
name_id_policy=None,
conditions=None,
requested_authn_context=None,
scoping=None,
force_authn=None,
is_passive=None,
protocol_binding=None,
assertion_consumer_service_index=None,
assertion_consumer_service_url=None,
attribute_consuming_service_index=None,
provider_name=None,
issuer=None,
signature=None,
extensions=None,
id=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
RequestAbstractType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
id=id,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.subject=subject
self.name_id_policy=name_id_policy
self.conditions=conditions
self.requested_authn_context=requested_authn_context
self.scoping=scoping
self.force_authn=force_authn
self.is_passive=is_passive
self.protocol_binding=protocol_binding
self.assertion_consumer_service_index=assertion_consumer_service_index
self.assertion_consumer_service_url=assertion_consumer_service_url
self.attribute_consuming_service_index=attribute_consuming_service_index
self.provider_name=provider_name
def authn_request_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnRequestType_, xml_string)
class AuthnRequest(AuthnRequestType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:AuthnRequest element """
c_tag = 'AuthnRequest'
c_namespace = NAMESPACE
c_children = AuthnRequestType_.c_children.copy()
c_attributes = AuthnRequestType_.c_attributes.copy()
c_child_order = AuthnRequestType_.c_child_order[:]
c_cardinality = AuthnRequestType_.c_cardinality.copy()
def authn_request_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnRequest, xml_string)
#..................
# ['ManageNameIDResponse', 'Status', 'NameIDMappingResponse', 'ArtifactResponseType', 'NameIDMappingResponseType', 'StatusType', 'ArtifactResponse', 'StatusCode', 'StatusCodeType', 'LogoutResponse', 'StatusResponseType', 'Response', 'ResponseType']
class StatusType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusType element """
c_tag = 'StatusType'
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()
# Added further down to avoid undefined references
#c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ('status_code', StatusCode)
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusMessage'] = ('status_message', StatusMessage)
c_cardinality['status_message'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusDetail'] = ('status_detail', StatusDetail)
c_cardinality['status_detail'] = {"min": 0, "max": 1}
c_child_order.extend(['status_code', 'status_message', 'status_detail'])
def __init__(self,
status_code=None,
status_message=None,
status_detail=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.status_code=status_code
self.status_message=status_message
self.status_detail=status_detail
def status_type__from_string(xml_string):
return saml2.create_class_from_xml_string(StatusType_, xml_string)
class Status(StatusType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Status element """
c_tag = 'Status'
c_namespace = NAMESPACE
c_children = StatusType_.c_children.copy()
c_attributes = StatusType_.c_attributes.copy()
c_child_order = StatusType_.c_child_order[:]
c_cardinality = StatusType_.c_cardinality.copy()
def status_from_string(xml_string):
return saml2.create_class_from_xml_string(Status, xml_string)
class StatusResponseType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusResponseType element """
c_tag = 'StatusResponseType'
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['{urn:oasis:names:tc:SAML:2.0:assertion}Issuer'] = ('issuer', saml.Issuer)
c_cardinality['issuer'] = {"min": 0, "max": 1}
c_children['{http://www.w3.org/2000/09/xmldsig#}Signature'] = ('signature', ds.Signature)
c_cardinality['signature'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Extensions'] = ('extensions', Extensions)
c_cardinality['extensions'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:protocol}Status'] = ('status', Status)
c_attributes['ID'] = ('id', 'ID', True)
c_attributes['InResponseTo'] = ('in_response_to', 'NCName', False)
c_attributes['Version'] = ('version', 'string', True)
c_attributes['IssueInstant'] = ('issue_instant', 'dateTime', True)
c_attributes['Destination'] = ('destination', 'anyURI', False)
c_attributes['Consent'] = ('consent', 'anyURI', False)
c_child_order.extend(['issuer', 'signature', 'extensions', 'status'])
def __init__(self,
issuer=None,
signature=None,
extensions=None,
status=None,
id=None,
in_response_to=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.issuer=issuer
self.signature=signature
self.extensions=extensions
self.status=status
self.id=id
self.in_response_to=in_response_to
self.version=version
self.issue_instant=issue_instant
self.destination=destination
self.consent=consent
def status_response_type__from_string(xml_string):
return saml2.create_class_from_xml_string(StatusResponseType_, xml_string)
class ResponseType_(StatusResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ResponseType element """
c_tag = 'ResponseType'
c_namespace = NAMESPACE
c_children = StatusResponseType_.c_children.copy()
c_attributes = StatusResponseType_.c_attributes.copy()
c_child_order = StatusResponseType_.c_child_order[:]
c_cardinality = StatusResponseType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = (
'assertion', [saml.Assertion])
c_cardinality['assertion'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion'] = (
'encrypted_assertion', [saml.EncryptedAssertion])
c_cardinality['encrypted_assertion'] = {"min": 0}
c_child_order.extend(['assertion', 'encrypted_assertion'])
def __init__(self,
assertion=None,
encrypted_assertion=None,
issuer=None,
signature=None,
extensions=None,
status=None,
id=None,
in_response_to=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
StatusResponseType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
status=status,
id=id,
in_response_to=in_response_to,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.assertion=assertion or []
self.encrypted_assertion=encrypted_assertion or []
def response_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ResponseType_, xml_string)
class ArtifactResponseType_(StatusResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResponseType element """
c_tag = 'ArtifactResponseType'
c_namespace = NAMESPACE
c_children = StatusResponseType_.c_children.copy()
c_attributes = StatusResponseType_.c_attributes.copy()
c_child_order = StatusResponseType_.c_child_order[:]
c_cardinality = StatusResponseType_.c_cardinality.copy()
c_any = {"namespace":"##any", "processContents":"lax", "minOccurs":"0"}
def artifact_response_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ArtifactResponseType_, xml_string)
class ManageNameIDResponse(StatusResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ManageNameIDResponse element """
c_tag = 'ManageNameIDResponse'
c_namespace = NAMESPACE
c_children = StatusResponseType_.c_children.copy()
c_attributes = StatusResponseType_.c_attributes.copy()
c_child_order = StatusResponseType_.c_child_order[:]
c_cardinality = StatusResponseType_.c_cardinality.copy()
def manage_name_id_response_from_string(xml_string):
return saml2.create_class_from_xml_string(ManageNameIDResponse, xml_string)
class LogoutResponse(StatusResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:LogoutResponse element """
c_tag = 'LogoutResponse'
c_namespace = NAMESPACE
c_children = StatusResponseType_.c_children.copy()
c_attributes = StatusResponseType_.c_attributes.copy()
c_child_order = StatusResponseType_.c_child_order[:]
c_cardinality = StatusResponseType_.c_cardinality.copy()
def logout_response_from_string(xml_string):
return saml2.create_class_from_xml_string(LogoutResponse, xml_string)
class NameIDMappingResponseType_(StatusResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingResponseType element """
c_tag = 'NameIDMappingResponseType'
c_namespace = NAMESPACE
c_children = StatusResponseType_.c_children.copy()
c_attributes = StatusResponseType_.c_attributes.copy()
c_child_order = StatusResponseType_.c_child_order[:]
c_cardinality = StatusResponseType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id', saml.NameID)
c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = ('encrypted_id', saml.EncryptedID)
c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
c_child_order.extend(['name_id', 'encrypted_id'])
def __init__(self,
name_id=None,
encrypted_id=None,
issuer=None,
signature=None,
extensions=None,
status=None,
id=None,
in_response_to=None,
version=None,
issue_instant=None,
destination=None,
consent=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
StatusResponseType_.__init__(self,
issuer=issuer,
signature=signature,
extensions=extensions,
status=status,
id=id,
in_response_to=in_response_to,
version=version,
issue_instant=issue_instant,
destination=destination,
consent=consent,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.name_id=name_id
self.encrypted_id=encrypted_id
def name_id_mapping_response_type__from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDMappingResponseType_, xml_string)
class Response(ResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:Response element """
c_tag = 'Response'
c_namespace = NAMESPACE
c_children = ResponseType_.c_children.copy()
c_attributes = ResponseType_.c_attributes.copy()
c_child_order = ResponseType_.c_child_order[:]
c_cardinality = ResponseType_.c_cardinality.copy()
def response_from_string(xml_string):
return saml2.create_class_from_xml_string(Response, xml_string)
class ArtifactResponse(ArtifactResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:ArtifactResponse element """
c_tag = 'ArtifactResponse'
c_namespace = NAMESPACE
c_children = ArtifactResponseType_.c_children.copy()
c_attributes = ArtifactResponseType_.c_attributes.copy()
c_child_order = ArtifactResponseType_.c_child_order[:]
c_cardinality = ArtifactResponseType_.c_cardinality.copy()
def artifact_response_from_string(xml_string):
return saml2.create_class_from_xml_string(ArtifactResponse, xml_string)
class NameIDMappingResponse(NameIDMappingResponseType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:NameIDMappingResponse element """
c_tag = 'NameIDMappingResponse'
c_namespace = NAMESPACE
c_children = NameIDMappingResponseType_.c_children.copy()
c_attributes = NameIDMappingResponseType_.c_attributes.copy()
c_child_order = NameIDMappingResponseType_.c_child_order[:]
c_cardinality = NameIDMappingResponseType_.c_cardinality.copy()
def name_id_mapping_response_from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDMappingResponse, xml_string)
#..................
# ['StatusCodeType', 'StatusCode']
class StatusCodeType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusCodeType element """
c_tag = 'StatusCodeType'
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['status_code'] = {"min": 0, "max": 1}
c_attributes['Value'] = ('value', 'anyURI', True)
c_child_order.extend(['status_code'])
def __init__(self,
status_code=None,
value=None,
text=None,
extension_elements=None,
extension_attributes=None,
):
SamlBase.__init__(self,
text=text,
extension_elements=extension_elements,
extension_attributes=extension_attributes,
)
self.status_code=status_code
self.value=value
def status_code_type__from_string(xml_string):
return saml2.create_class_from_xml_string(StatusCodeType_, xml_string)
class StatusCode(StatusCodeType_):
"""The urn:oasis:names:tc:SAML:2.0:protocol:StatusCode element """
c_tag = 'StatusCode'
c_namespace = NAMESPACE
c_children = StatusCodeType_.c_children.copy()
c_attributes = StatusCodeType_.c_attributes.copy()
c_child_order = StatusCodeType_.c_child_order[:]
c_cardinality = StatusCodeType_.c_cardinality.copy()
def status_code_from_string(xml_string):
return saml2.create_class_from_xml_string(StatusCode, xml_string)
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
StatusType_.c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ('status_code', StatusCode)
Status.c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ('status_code', StatusCode)
StatusCodeType_.c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ('status_code', StatusCode)
StatusCode.c_children['{urn:oasis:names:tc:SAML:2.0:protocol}StatusCode'] = ('status_code', StatusCode)
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ELEMENT_FROM_STRING = {
Extensions.c_tag: extensions_from_string,
ExtensionsType_.c_tag: extensions_type__from_string,
StatusResponseType_.c_tag: status_response_type__from_string,
Status.c_tag: status_from_string,
StatusType_.c_tag: status_type__from_string,
StatusCode.c_tag: status_code_from_string,
StatusCodeType_.c_tag: status_code_type__from_string,
StatusMessage.c_tag: status_message_from_string,
StatusDetail.c_tag: status_detail_from_string,
StatusDetailType_.c_tag: status_detail_type__from_string,
AssertionIDRequest.c_tag: assertion_id_request_from_string,
AssertionIDRequestType_.c_tag: assertion_id_request_type__from_string,
SubjectQuery.c_tag: subject_query_from_string,
AuthnQuery.c_tag: authn_query_from_string,
AuthnQueryType_.c_tag: authn_query_type__from_string,
RequestedAuthnContext.c_tag: requested_authn_context_from_string,
RequestedAuthnContextType_.c_tag: requested_authn_context_type__from_string,
AuthnContextComparisonType_.c_tag: authn_context_comparison_type__from_string,
AttributeQuery.c_tag: attribute_query_from_string,
AttributeQueryType_.c_tag: attribute_query_type__from_string,
AuthzDecisionQuery.c_tag: authz_decision_query_from_string,
AuthzDecisionQueryType_.c_tag: authz_decision_query_type__from_string,
AuthnRequest.c_tag: authn_request_from_string,
AuthnRequestType_.c_tag: authn_request_type__from_string,
NameIDPolicy.c_tag: name_id_policy_from_string,
NameIDPolicyType_.c_tag: name_id_policy_type__from_string,
Scoping.c_tag: scoping_from_string,
ScopingType_.c_tag: scoping_type__from_string,
RequesterID.c_tag: requester_id_from_string,
IDPList.c_tag: idp_list_from_string,
IDPListType_.c_tag: idp_list_type__from_string,
IDPEntry.c_tag: idp_entry_from_string,
IDPEntryType_.c_tag: idp_entry_type__from_string,
GetComplete.c_tag: get_complete_from_string,
Response.c_tag: response_from_string,
ResponseType_.c_tag: response_type__from_string,
ArtifactResolve.c_tag: artifact_resolve_from_string,
ArtifactResolveType_.c_tag: artifact_resolve_type__from_string,
Artifact.c_tag: artifact_from_string,
ArtifactResponse.c_tag: artifact_response_from_string,
ArtifactResponseType_.c_tag: artifact_response_type__from_string,
ManageNameIDRequest.c_tag: manage_name_id_request_from_string,
ManageNameIDRequestType_.c_tag: manage_name_id_request_type__from_string,
NewID.c_tag: new_id_from_string,
NewEncryptedID.c_tag: new_encrypted_id_from_string,
Terminate.c_tag: terminate_from_string,
TerminateType_.c_tag: terminate_type__from_string,
ManageNameIDResponse.c_tag: manage_name_id_response_from_string,
LogoutRequest.c_tag: logout_request_from_string,
LogoutRequestType_.c_tag: logout_request_type__from_string,
SessionIndex.c_tag: session_index_from_string,
LogoutResponse.c_tag: logout_response_from_string,
NameIDMappingRequest.c_tag: name_id_mapping_request_from_string,
NameIDMappingRequestType_.c_tag: name_id_mapping_request_type__from_string,
NameIDMappingResponse.c_tag: name_id_mapping_response_from_string,
NameIDMappingResponseType_.c_tag: name_id_mapping_response_type__from_string,
}
ELEMENT_BY_TAG = {
'Extensions': Extensions,
'ExtensionsType': ExtensionsType_,
'StatusResponseType': StatusResponseType_,
'Status': Status,
'StatusType': StatusType_,
'StatusCode': StatusCode,
'StatusCodeType': StatusCodeType_,
'StatusMessage': StatusMessage,
'StatusDetail': StatusDetail,
'StatusDetailType': StatusDetailType_,
'AssertionIDRequest': AssertionIDRequest,
'AssertionIDRequestType': AssertionIDRequestType_,
'SubjectQuery': SubjectQuery,
'AuthnQuery': AuthnQuery,
'AuthnQueryType': AuthnQueryType_,
'RequestedAuthnContext': RequestedAuthnContext,
'RequestedAuthnContextType': RequestedAuthnContextType_,
'AuthnContextComparisonType': AuthnContextComparisonType_,
'AttributeQuery': AttributeQuery,
'AttributeQueryType': AttributeQueryType_,
'AuthzDecisionQuery': AuthzDecisionQuery,
'AuthzDecisionQueryType': AuthzDecisionQueryType_,
'AuthnRequest': AuthnRequest,
'AuthnRequestType': AuthnRequestType_,
'NameIDPolicy': NameIDPolicy,
'NameIDPolicyType': NameIDPolicyType_,
'Scoping': Scoping,
'ScopingType': ScopingType_,
'RequesterID': RequesterID,
'IDPList': IDPList,
'IDPListType': IDPListType_,
'IDPEntry': IDPEntry,
'IDPEntryType': IDPEntryType_,
'GetComplete': GetComplete,
'Response': Response,
'ResponseType': ResponseType_,
'ArtifactResolve': ArtifactResolve,
'ArtifactResolveType': ArtifactResolveType_,
'Artifact': Artifact,
'ArtifactResponse': ArtifactResponse,
'ArtifactResponseType': ArtifactResponseType_,
'ManageNameIDRequest': ManageNameIDRequest,
'ManageNameIDRequestType': ManageNameIDRequestType_,
'NewID': NewID,
'NewEncryptedID': NewEncryptedID,
'Terminate': Terminate,
'TerminateType': TerminateType_,
'ManageNameIDResponse': ManageNameIDResponse,
'LogoutRequest': LogoutRequest,
'LogoutRequestType': LogoutRequestType_,
'SessionIndex': SessionIndex,
'LogoutResponse': LogoutResponse,
'NameIDMappingRequest': NameIDMappingRequest,
'NameIDMappingRequestType': NameIDMappingRequestType_,
'NameIDMappingResponse': NameIDMappingResponse,
'NameIDMappingResponseType': NameIDMappingResponseType_,
'RequestAbstractType': RequestAbstractType_,
'SubjectQueryAbstractType': SubjectQueryAbstractType_,
}
def factory(tag, **kwargs):
return ELEMENT_BY_TAG[tag](**kwargs)
def any_response_from_string(xmlstr):
resp = None
for func in [status_response_type__from_string, response_from_string,
artifact_response_from_string, logout_response_from_string,
name_id_mapping_response_from_string,
manage_name_id_response_from_string]:
resp = func(xmlstr)
if resp:
break
if not resp:
raise Exception("Unknown response type")
return resp