summaryrefslogtreecommitdiff
path: root/src/saml2/saml.py
diff options
context:
space:
mode:
authorRoland Hedberg <roland.hedberg@adm.umu.se>2013-04-15 11:03:12 +0200
committerRoland Hedberg <roland.hedberg@adm.umu.se>2013-04-15 11:03:12 +0200
commit3faabf9f6480e5473f9fc27424a9cb6f373a88f2 (patch)
tree40eff74018298ecac6a347e1e1502362ee139b6f /src/saml2/saml.py
parent2c4f5d3e1ce879710e1ca5586635180f42b2e72e (diff)
downloadpysaml2-3faabf9f6480e5473f9fc27424a9cb6f373a88f2.tar.gz
Editorial
Diffstat (limited to 'src/saml2/saml.py')
-rw-r--r--src/saml2/saml.py960
1 files changed, 508 insertions, 452 deletions
diff --git a/src/saml2/saml.py b/src/saml2/saml.py
index 99a96f03..0886f542 100644
--- a/src/saml2/saml.py
+++ b/src/saml2/saml.py
@@ -40,8 +40,8 @@ PROFILE_ATTRIBUTE_BASIC = (
AUTHN_PASSWORD = "urn:oasis:names:tc:SAML:2.0:ac:classes:Password"
AUTHN_PASSWORD_PROTECTED = \
- "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
-
+ "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
+
NAME_FORMAT_UNSPECIFIED = (
"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified")
NAME_FORMAT_URI = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
@@ -69,8 +69,8 @@ NS_SOAP_ENC = "http://schemas.xmlsoap.org/soap/encoding/"
# -----------------------------------------------------------------------------
-def _decode_attribute_value(typ, text):
+def _decode_attribute_value(typ, text):
if typ == XSD + "string":
return text or ""
if typ == XSD + "integer" or typ == XSD + "int":
@@ -81,9 +81,11 @@ def _decode_attribute_value(typ, text):
return "%s" % (text == "true" or text == "True")
if typ == XSD + "base64Binary":
import base64
+
return base64.decodestring(text)
raise ValueError("type %s not supported" % type)
+
def _verify_value_type(typ, val):
#print "verify value type: %s, %s" % (typ, val)
if typ == XSD + "string":
@@ -102,21 +104,21 @@ def _verify_value_type(typ, val):
raise ValueError("Faulty boolean value")
if typ == XSD + "base64Binary":
import base64
+
return base64.decodestring(val)
+
class AttributeValueBase(SamlBase):
def __init__(self,
text=None,
extension_elements=None,
- extension_attributes=None,
- ):
+ extension_attributes=None):
self._extatt = {}
SamlBase.__init__(self,
text=None,
extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
+ extension_attributes=extension_attributes)
if self._extatt:
self.extension_attributes = self._extatt
@@ -129,7 +131,7 @@ class AttributeValueBase(SamlBase):
if key == "text":
self.set_text(value)
else:
- SamlBase.__setattr__(self,key, value)
+ SamlBase.__setattr__(self, key, value)
def verify(self):
if not self.text:
@@ -141,6 +143,11 @@ class AttributeValueBase(SamlBase):
def set_type(self, typ):
try:
+ del self.extension_attributes[XSI_NIL]
+ except KeyError:
+ pass
+
+ try:
self.extension_attributes[XSI_TYPE] = typ
except AttributeError:
self._extatt[XSI_TYPE] = typ
@@ -168,6 +175,7 @@ class AttributeValueBase(SamlBase):
typ = self.get_type()
if base64encode:
import base64
+
val = base64.encodestring(val)
self.set_type("xs:base64Binary")
else:
@@ -242,6 +250,7 @@ class AttributeValueBase(SamlBase):
except KeyError:
pass
+
class BaseIDAbstractType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:assertion:BaseIDAbstractType element """
@@ -255,19 +264,17 @@ class BaseIDAbstractType_(SamlBase):
c_attributes['SPNameQualifier'] = ('sp_name_qualifier', 'string', False)
def __init__(self,
- name_qualifier=None,
- sp_name_qualifier=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.name_qualifier=name_qualifier
- self.sp_name_qualifier=sp_name_qualifier
+ name_qualifier=None,
+ sp_name_qualifier=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.name_qualifier = name_qualifier
+ self.sp_name_qualifier = sp_name_qualifier
class NameIDType_(SamlBase):
@@ -286,30 +293,30 @@ class NameIDType_(SamlBase):
c_attributes['SPProvidedID'] = ('sp_provided_id', 'string', False)
def __init__(self,
- name_qualifier=None,
- sp_name_qualifier=None,
- format=None,
- sp_provided_id=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.name_qualifier=name_qualifier
- self.sp_name_qualifier=sp_name_qualifier
- self.format=format
- self.sp_provided_id=sp_provided_id
+ name_qualifier=None,
+ sp_name_qualifier=None,
+ format=None,
+ sp_provided_id=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.name_qualifier = name_qualifier
+ self.sp_name_qualifier = sp_name_qualifier
+ self.format = format
+ self.sp_provided_id = sp_provided_id
+
def name_id_type__from_string(xml_string):
return saml2.create_class_from_xml_string(NameIDType_, xml_string)
class EncryptedElementType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:EncryptedElementType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:EncryptedElementType element
+ """
c_tag = 'EncryptedElementType'
c_namespace = NAMESPACE
@@ -318,28 +325,27 @@ class EncryptedElementType_(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
c_children['{http://www.w3.org/2001/04/xmlenc#}EncryptedData'] = (
- 'encrypted_data',
- xenc.EncryptedData)
+ 'encrypted_data',
+ xenc.EncryptedData)
c_children['{http://www.w3.org/2001/04/xmlenc#}EncryptedKey'] = (
- 'encrypted_key',
- [xenc.EncryptedKey])
- c_cardinality['encrypted_key'] = {"min":0}
+ 'encrypted_key',
+ [xenc.EncryptedKey])
+ c_cardinality['encrypted_key'] = {"min": 0}
c_child_order.extend(['encrypted_data', 'encrypted_key'])
def __init__(self,
- encrypted_data=None,
- encrypted_key=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.encrypted_data=encrypted_data
- self.encrypted_key=encrypted_key or []
+ encrypted_data=None,
+ encrypted_key=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.encrypted_data = encrypted_data
+ self.encrypted_key = encrypted_key or []
+
def encrypted_element_type__from_string(xml_string):
return saml2.create_class_from_xml_string(EncryptedElementType_, xml_string)
@@ -355,6 +361,7 @@ class EncryptedID(EncryptedElementType_):
c_child_order = EncryptedElementType_.c_child_order[:]
c_cardinality = EncryptedElementType_.c_cardinality.copy()
+
def encrypted_id_from_string(xml_string):
return saml2.create_class_from_xml_string(EncryptedID, xml_string)
@@ -369,6 +376,7 @@ class Issuer(NameIDType_):
c_child_order = NameIDType_.c_child_order[:]
c_cardinality = NameIDType_.c_cardinality.copy()
+
def issuer_from_string(xml_string):
return saml2.create_class_from_xml_string(Issuer, xml_string)
@@ -384,6 +392,7 @@ class AssertionIDRef(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def assertion_id_ref_from_string(xml_string):
return saml2.create_class_from_xml_string(AssertionIDRef, xml_string)
@@ -399,12 +408,14 @@ class AssertionURIRef(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def assertion_uri_ref_from_string(xml_string):
return saml2.create_class_from_xml_string(AssertionURIRef, xml_string)
class SubjectConfirmationDataType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationDataType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationDataType
+ element """
c_tag = 'SubjectConfirmationDataType'
c_namespace = NAMESPACE
@@ -417,30 +428,29 @@ class SubjectConfirmationDataType_(SamlBase):
c_attributes['Recipient'] = ('recipient', 'anyURI', False)
c_attributes['InResponseTo'] = ('in_response_to', 'NCName', False)
c_attributes['Address'] = ('address', 'string', False)
- c_any = {"namespace":"##any", "processContents":"lax", "minOccurs":"0",
- "maxOccurs":"unbounded"}
- c_any_attribute = {"namespace":"##other", "processContents":"lax"}
+ c_any = {"namespace": "##any", "processContents": "lax", "minOccurs": "0",
+ "maxOccurs": "unbounded"}
+ c_any_attribute = {"namespace": "##other", "processContents": "lax"}
def __init__(self,
- not_before=None,
- not_on_or_after=None,
- recipient=None,
- in_response_to=None,
- address=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.not_before=not_before
- self.not_on_or_after=not_on_or_after
- self.recipient=recipient
- self.in_response_to=in_response_to
- self.address=address
+ not_before=None,
+ not_on_or_after=None,
+ recipient=None,
+ in_response_to=None,
+ address=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.not_before = not_before
+ self.not_on_or_after = not_on_or_after
+ self.recipient = recipient
+ self.in_response_to = in_response_to
+ self.address = address
+
def subject_confirmation_data_type__from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectConfirmationDataType_,
@@ -448,7 +458,8 @@ def subject_confirmation_data_type__from_string(xml_string):
class KeyInfoConfirmationDataType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:KeyInfoConfirmationDataType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:KeyInfoConfirmationDataType
+ element """
c_tag = 'KeyInfoConfirmationDataType'
c_namespace = NAMESPACE
@@ -458,21 +469,20 @@ class KeyInfoConfirmationDataType_(SamlBase):
c_cardinality = SamlBase.c_cardinality.copy()
c_children['{http://www.w3.org/2000/09/xmldsig#}KeyInfo'] = ('key_info',
[ds.KeyInfo])
- c_cardinality['key_info'] = {"min":1}
+ c_cardinality['key_info'] = {"min": 1}
c_child_order.extend(['key_info'])
def __init__(self,
- key_info=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.key_info=key_info or []
+ key_info=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.key_info = key_info or []
+
def key_info_confirmation_data_type__from_string(xml_string):
return saml2.create_class_from_xml_string(KeyInfoConfirmationDataType_,
@@ -480,7 +490,8 @@ def key_info_confirmation_data_type__from_string(xml_string):
class ConditionAbstractType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:ConditionAbstractType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:ConditionAbstractType
+ element """
c_tag = 'ConditionAbstractType'
c_namespace = NAMESPACE
@@ -501,6 +512,7 @@ class Audience(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def audience_from_string(xml_string):
return saml2.create_class_from_xml_string(Audience, xml_string)
@@ -515,12 +527,14 @@ class OneTimeUseType_(ConditionAbstractType_):
c_child_order = ConditionAbstractType_.c_child_order[:]
c_cardinality = ConditionAbstractType_.c_cardinality.copy()
+
def one_time_use_type__from_string(xml_string):
return saml2.create_class_from_xml_string(OneTimeUseType_, xml_string)
class ProxyRestrictionType_(ConditionAbstractType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:ProxyRestrictionType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:ProxyRestrictionType element
+ """
c_tag = 'ProxyRestrictionType'
c_namespace = NAMESPACE
@@ -530,24 +544,22 @@ class ProxyRestrictionType_(ConditionAbstractType_):
c_cardinality = ConditionAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Audience'] = ('audience',
[Audience])
- c_cardinality['audience'] = {"min":0}
+ c_cardinality['audience'] = {"min": 0}
c_attributes['Count'] = ('count', 'nonNegativeInteger', False)
c_child_order.extend(['audience'])
def __init__(self,
- audience=None,
- count=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- ConditionAbstractType_.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.audience=audience or []
- self.count=count
+ audience=None,
+ count=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ ConditionAbstractType_.__init__(
+ self, text=text, extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.audience = audience or []
+ self.count = count
+
def proxy_restriction_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ProxyRestrictionType_, xml_string)
@@ -563,12 +575,14 @@ class EncryptedAssertion(EncryptedElementType_):
c_child_order = EncryptedElementType_.c_child_order[:]
c_cardinality = EncryptedElementType_.c_cardinality.copy()
+
def encrypted_assertion_from_string(xml_string):
return saml2.create_class_from_xml_string(EncryptedAssertion, xml_string)
class StatementAbstractType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:StatementAbstractType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:StatementAbstractType element
+ """
c_tag = 'StatementAbstractType'
c_namespace = NAMESPACE
@@ -591,26 +605,26 @@ class SubjectLocalityType_(SamlBase):
c_attributes['DNSName'] = ('dns_name', 'string', False)
def __init__(self,
- address=None,
- dns_name=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.dns_name=dns_name
+ address=None,
+ dns_name=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.dns_name = dns_name
+
def subject_locality_type__from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectLocalityType_, xml_string)
class AuthnContextClassRef(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AuthnContextClassRef element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AuthnContextClassRef element
+ """
c_tag = 'AuthnContextClassRef'
c_namespace = NAMESPACE
@@ -620,6 +634,7 @@ class AuthnContextClassRef(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def authn_context_class_ref_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContextClassRef, xml_string)
@@ -635,6 +650,7 @@ class AuthnContextDeclRef(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def authn_context_decl_ref_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContextDeclRef, xml_string)
@@ -650,12 +666,14 @@ class AuthnContextDecl(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def authn_context_decl_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContextDecl, xml_string)
class AuthenticatingAuthority(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AuthenticatingAuthority element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AuthenticatingAuthority
+ element """
c_tag = 'AuthenticatingAuthority'
c_namespace = NAMESPACE
@@ -665,6 +683,7 @@ class AuthenticatingAuthority(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def authenticating_authority_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthenticatingAuthority,
xml_string)
@@ -682,6 +701,7 @@ class DecisionType_(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def decision_type__from_string(xml_string):
return saml2.create_class_from_xml_string(DecisionType_, xml_string)
@@ -699,17 +719,16 @@ class ActionType_(SamlBase):
c_attributes['Namespace'] = ('namespace', 'anyURI', True)
def __init__(self,
- namespace=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.namespace=namespace
+ namespace=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.namespace = namespace
+
def action_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ActionType_, xml_string)
@@ -726,6 +745,7 @@ class AttributeValue(AttributeValueBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
+
def attribute_value_from_string(xml_string):
return saml2.create_class_from_xml_string(AttributeValue, xml_string)
@@ -740,6 +760,7 @@ class EncryptedAttribute(EncryptedElementType_):
c_child_order = EncryptedElementType_.c_child_order[:]
c_cardinality = EncryptedElementType_.c_cardinality.copy()
+
def encrypted_attribute_from_string(xml_string):
return saml2.create_class_from_xml_string(EncryptedAttribute, xml_string)
@@ -754,6 +775,7 @@ class BaseID(BaseIDAbstractType_):
c_child_order = BaseIDAbstractType_.c_child_order[:]
c_cardinality = BaseIDAbstractType_.c_cardinality.copy()
+
def base_id_from_string(xml_string):
return saml2.create_class_from_xml_string(BaseID, xml_string)
@@ -768,12 +790,14 @@ class NameID(NameIDType_):
c_child_order = NameIDType_.c_child_order[:]
c_cardinality = NameIDType_.c_cardinality.copy()
+
def name_id_from_string(xml_string):
return saml2.create_class_from_xml_string(NameID, xml_string)
class SubjectConfirmationData(SubjectConfirmationDataType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationData element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationData
+ element """
c_tag = 'SubjectConfirmationData'
c_namespace = NAMESPACE
@@ -782,6 +806,7 @@ class SubjectConfirmationData(SubjectConfirmationDataType_):
c_child_order = SubjectConfirmationDataType_.c_child_order[:]
c_cardinality = SubjectConfirmationDataType_.c_cardinality.copy()
+
def subject_confirmation_data_from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectConfirmationData,
xml_string)
@@ -797,12 +822,14 @@ class Condition(ConditionAbstractType_):
c_child_order = ConditionAbstractType_.c_child_order[:]
c_cardinality = ConditionAbstractType_.c_cardinality.copy()
+
def condition_from_string(xml_string):
return saml2.create_class_from_xml_string(Condition, xml_string)
class AudienceRestrictionType_(ConditionAbstractType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AudienceRestrictionType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AudienceRestrictionType
+ element """
c_tag = 'AudienceRestrictionType'
c_namespace = NAMESPACE
@@ -812,21 +839,19 @@ class AudienceRestrictionType_(ConditionAbstractType_):
c_cardinality = ConditionAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Audience'] = ('audience',
[Audience])
- c_cardinality['audience'] = {"min":1}
+ c_cardinality['audience'] = {"min": 1}
c_child_order.extend(['audience'])
def __init__(self,
- audience=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- ConditionAbstractType_.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.audience=audience or []
+ audience=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ ConditionAbstractType_.__init__(
+ self, text=text, extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.audience = audience or []
+
def audience_restriction_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AudienceRestrictionType_,
@@ -843,6 +868,7 @@ class OneTimeUse(OneTimeUseType_):
c_child_order = OneTimeUseType_.c_child_order[:]
c_cardinality = OneTimeUseType_.c_cardinality.copy()
+
def one_time_use_from_string(xml_string):
return saml2.create_class_from_xml_string(OneTimeUse, xml_string)
@@ -857,6 +883,7 @@ class ProxyRestriction(ProxyRestrictionType_):
c_child_order = ProxyRestrictionType_.c_child_order[:]
c_cardinality = ProxyRestrictionType_.c_cardinality.copy()
+
def proxy_restriction_from_string(xml_string):
return saml2.create_class_from_xml_string(ProxyRestriction, xml_string)
@@ -871,6 +898,7 @@ class Statement(StatementAbstractType_):
c_child_order = StatementAbstractType_.c_child_order[:]
c_cardinality = StatementAbstractType_.c_cardinality.copy()
+
def statement_from_string(xml_string):
return saml2.create_class_from_xml_string(Statement, xml_string)
@@ -897,6 +925,7 @@ class SubjectLocality(SubjectLocalityType_):
return SubjectLocalityType_.verify(self)
+
def subject_locality_from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectLocality, xml_string)
@@ -910,42 +939,40 @@ class AuthnContextType_(SamlBase):
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',
- AuthnContextClassRef)
+ c_children[
+ '{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextClassRef'] = (
+ 'authn_context_class_ref', AuthnContextClassRef)
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextDecl'] = (
- 'authn_context_decl',
- AuthnContextDecl)
- c_cardinality['authn_context_decl'] = {"min":0, "max":1}
+ 'authn_context_decl',
+ AuthnContextDecl)
+ c_cardinality['authn_context_decl'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContextDeclRef'] = (
- 'authn_context_decl_ref',
- AuthnContextDeclRef)
- c_cardinality['authn_context_decl_ref'] = {"min":0, "max":1}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthenticatingAuthority'] = (
- 'authenticating_authority',
- [AuthenticatingAuthority])
- c_cardinality['authenticating_authority'] = {"min":0}
+ 'authn_context_decl_ref',
+ AuthnContextDeclRef)
+ c_cardinality['authn_context_decl_ref'] = {"min": 0, "max": 1}
+ c_children[
+ '{urn:oasis:names:tc:SAML:2.0:assertion}AuthenticatingAuthority'] = (
+ 'authenticating_authority', [AuthenticatingAuthority])
+ c_cardinality['authenticating_authority'] = {"min": 0}
c_child_order.extend(['authn_context_class_ref', 'authn_context_decl',
'authn_context_decl_ref', 'authenticating_authority'])
def __init__(self,
- authn_context_class_ref=None,
- authn_context_decl=None,
- authn_context_decl_ref=None,
- authenticating_authority=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
- self.authn_context_decl=authn_context_decl
- self.authn_context_decl_ref=authn_context_decl_ref
- self.authenticating_authority=authenticating_authority or []
+ authn_context_class_ref=None,
+ authn_context_decl=None,
+ authn_context_decl_ref=None,
+ authenticating_authority=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
+ self.authn_context_decl = authn_context_decl
+ self.authn_context_decl_ref = authn_context_decl_ref
+ self.authenticating_authority = authenticating_authority or []
def verify(self):
# either <AuthnContextDecl> or <AuthnContextDeclRef> not both
@@ -956,6 +983,7 @@ class AuthnContextType_(SamlBase):
return SamlBase.verify(self)
+
def authn_context_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContextType_, xml_string)
@@ -970,6 +998,7 @@ class Action(ActionType_):
c_child_order = ActionType_.c_child_order[:]
c_cardinality = ActionType_.c_cardinality.copy()
+
def action_from_string(xml_string):
return saml2.create_class_from_xml_string(Action, xml_string)
@@ -984,40 +1013,40 @@ class AttributeType_(SamlBase):
c_child_order = SamlBase.c_child_order[:]
c_cardinality = SamlBase.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AttributeValue'] = (
- 'attribute_value',
- [AttributeValue])
- c_cardinality['attribute_value'] = {"min":0}
+ 'attribute_value',
+ [AttributeValue])
+ c_cardinality['attribute_value'] = {"min": 0}
c_attributes['Name'] = ('name', 'string', True)
c_attributes['NameFormat'] = ('name_format', 'anyURI', False)
c_attributes['FriendlyName'] = ('friendly_name', 'string', False)
c_child_order.extend(['attribute_value'])
- c_any_attribute = {"namespace":"##other", "processContents":"lax"}
+ c_any_attribute = {"namespace": "##other", "processContents": "lax"}
def __init__(self,
- attribute_value=None,
- name=None,
- name_format=None,
- friendly_name=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.attribute_value=attribute_value or []
- self.name=name
- self.name_format=name_format
- self.friendly_name=friendly_name
+ attribute_value=None,
+ name=None,
+ name_format=None,
+ friendly_name=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.attribute_value = attribute_value or []
+ self.name = name
+ self.name_format = name_format
+ self.friendly_name = friendly_name
+
def attribute_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AttributeType_, xml_string)
class SubjectConfirmationType_(SamlBase):
- """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:SubjectConfirmationType
+ element """
c_tag = 'SubjectConfirmationType'
c_namespace = NAMESPACE
@@ -1027,42 +1056,41 @@ class SubjectConfirmationType_(SamlBase):
c_cardinality = SamlBase.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}BaseID'] = ('base_id',
BaseID)
- c_cardinality['base_id'] = {"min":0, "max":1}
+ c_cardinality['base_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id',
NameID)
- c_cardinality['name_id'] = {"min":0, "max":1}
+ c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = (
- 'encrypted_id',
- EncryptedID)
- c_cardinality['encrypted_id'] = {"min":0, "max":1}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}SubjectConfirmationData'] = (
- 'subject_confirmation_data',
- SubjectConfirmationData)
- c_cardinality['subject_confirmation_data'] = {"min":0, "max":1}
+ 'encrypted_id',
+ EncryptedID)
+ c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
+ c_children[
+ '{urn:oasis:names:tc:SAML:2.0:assertion}SubjectConfirmationData'] = (
+ 'subject_confirmation_data', SubjectConfirmationData)
+ c_cardinality['subject_confirmation_data'] = {"min": 0, "max": 1}
c_attributes['Method'] = ('method', 'anyURI', True)
c_child_order.extend(['base_id', 'name_id', 'encrypted_id',
'subject_confirmation_data'])
def __init__(self,
- base_id=None,
- name_id=None,
- encrypted_id=None,
- subject_confirmation_data=None,
- method=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- 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.subject_confirmation_data=subject_confirmation_data
- self.method=method
+ base_id=None,
+ name_id=None,
+ encrypted_id=None,
+ subject_confirmation_data=None,
+ method=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ 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.subject_confirmation_data = subject_confirmation_data
+ self.method = method
+
def subject_confirmation_type__from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectConfirmationType_,
@@ -1079,6 +1107,7 @@ class AudienceRestriction(AudienceRestrictionType_):
c_child_order = AudienceRestrictionType_.c_child_order[:]
c_cardinality = AudienceRestrictionType_.c_cardinality.copy()
+
def audience_restriction_from_string(xml_string):
return saml2.create_class_from_xml_string(AudienceRestriction, xml_string)
@@ -1093,6 +1122,7 @@ class AuthnContext(AuthnContextType_):
c_child_order = AuthnContextType_.c_child_order[:]
c_cardinality = AuthnContextType_.c_cardinality.copy()
+
def authn_context_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnContext, xml_string)
@@ -1107,6 +1137,7 @@ class Attribute(AttributeType_):
c_child_order = AttributeType_.c_child_order[:]
c_cardinality = AttributeType_.c_cardinality.copy()
+
def attribute_from_string(xml_string):
return saml2.create_class_from_xml_string(Attribute, xml_string)
@@ -1121,6 +1152,7 @@ class SubjectConfirmation(SubjectConfirmationType_):
c_child_order = SubjectConfirmationType_.c_child_order[:]
c_cardinality = SubjectConfirmationType_.c_cardinality.copy()
+
def subject_confirmation_from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectConfirmation, xml_string)
@@ -1134,48 +1166,47 @@ class ConditionsType_(SamlBase):
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}Condition'] = ('condition',
- [Condition])
- c_cardinality['condition'] = {"min":0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Condition'] = (
+ 'condition',
+ [Condition])
+ c_cardinality['condition'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AudienceRestriction'] = (
- 'audience_restriction',
- [AudienceRestriction])
- c_cardinality['audience_restriction'] = {"min":0}
+ 'audience_restriction',
+ [AudienceRestriction])
+ c_cardinality['audience_restriction'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}OneTimeUse'] = (
- 'one_time_use',
- [OneTimeUse])
- c_cardinality['one_time_use'] = {"min":0}
+ 'one_time_use',
+ [OneTimeUse])
+ c_cardinality['one_time_use'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}ProxyRestriction'] = (
- 'proxy_restriction',
- [ProxyRestriction])
- c_cardinality['proxy_restriction'] = {"min":0}
+ 'proxy_restriction',
+ [ProxyRestriction])
+ c_cardinality['proxy_restriction'] = {"min": 0}
c_attributes['NotBefore'] = ('not_before', 'dateTime', False)
c_attributes['NotOnOrAfter'] = ('not_on_or_after', 'dateTime', False)
c_child_order.extend(['condition', 'audience_restriction', 'one_time_use',
'proxy_restriction'])
def __init__(self,
- condition=None,
- audience_restriction=None,
- one_time_use=None,
- proxy_restriction=None,
- not_before=None,
- not_on_or_after=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.condition=condition or []
- self.audience_restriction=audience_restriction or []
- self.one_time_use=one_time_use or []
- self.proxy_restriction=proxy_restriction or []
- self.not_before=not_before
- self.not_on_or_after=not_on_or_after
+ condition=None,
+ audience_restriction=None,
+ one_time_use=None,
+ proxy_restriction=None,
+ not_before=None,
+ not_on_or_after=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.condition = condition or []
+ self.audience_restriction = audience_restriction or []
+ self.one_time_use = one_time_use or []
+ self.proxy_restriction = proxy_restriction or []
+ self.not_before = not_before
+ self.not_on_or_after = not_on_or_after
def verify(self):
if self.one_time_use:
@@ -1185,6 +1216,7 @@ class ConditionsType_(SamlBase):
return SamlBase.verify(self)
+
def conditions_type__from_string(xml_string):
return saml2.create_class_from_xml_string(ConditionsType_, xml_string)
@@ -1200,7 +1232,7 @@ class AuthnStatementType_(StatementAbstractType_):
c_cardinality = StatementAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}SubjectLocality'] = (
'subject_locality', SubjectLocality)
- c_cardinality['subject_locality'] = {"min":0, "max":1}
+ c_cardinality['subject_locality'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnContext'] = (
'authn_context', AuthnContext)
c_attributes['AuthnInstant'] = ('authn_instant', 'dateTime', True)
@@ -1210,32 +1242,31 @@ class AuthnStatementType_(StatementAbstractType_):
c_child_order.extend(['subject_locality', 'authn_context'])
def __init__(self,
- subject_locality=None,
- authn_context=None,
- authn_instant=None,
- session_index=None,
- session_not_on_or_after=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- StatementAbstractType_.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.subject_locality=subject_locality
- self.authn_context=authn_context
- self.authn_instant=authn_instant
- self.session_index=session_index
- self.session_not_on_or_after=session_not_on_or_after
+ subject_locality=None,
+ authn_context=None,
+ authn_instant=None,
+ session_index=None,
+ session_not_on_or_after=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ StatementAbstractType_.__init__(
+ self, text=text, extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.subject_locality = subject_locality
+ self.authn_context = authn_context
+ self.authn_instant = authn_instant
+ self.session_index = session_index
+ self.session_not_on_or_after = session_not_on_or_after
+
def authn_statement_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnStatementType_, xml_string)
class AttributeStatementType_(StatementAbstractType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AttributeStatementType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AttributeStatementType
+ element """
c_tag = 'AttributeStatementType'
c_namespace = NAMESPACE
@@ -1244,32 +1275,31 @@ class AttributeStatementType_(StatementAbstractType_):
c_child_order = StatementAbstractType_.c_child_order[:]
c_cardinality = StatementAbstractType_.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Attribute'] = (
- 'attribute',
- [Attribute])
- c_cardinality['attribute'] = {"min":0}
+ 'attribute',
+ [Attribute])
+ c_cardinality['attribute'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAttribute'] = (
- 'encrypted_attribute',
- [EncryptedAttribute])
- c_cardinality['encrypted_attribute'] = {"min":0}
+ 'encrypted_attribute',
+ [EncryptedAttribute])
+ c_cardinality['encrypted_attribute'] = {"min": 0}
c_child_order.extend(['attribute', 'encrypted_attribute'])
def __init__(self,
- attribute=None,
- encrypted_attribute=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- StatementAbstractType_.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.attribute=attribute or []
- self.encrypted_attribute=encrypted_attribute or []
+ attribute=None,
+ encrypted_attribute=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ StatementAbstractType_.__init__(
+ self, text=text, extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.attribute = attribute or []
+ self.encrypted_attribute = encrypted_attribute or []
+
def attribute_statement_type__from_string(xml_string):
- return saml2.create_class_from_xml_string(AttributeStatementType_, xml_string)
+ return saml2.create_class_from_xml_string(AttributeStatementType_,
+ xml_string)
class SubjectType_(SamlBase):
@@ -1283,37 +1313,36 @@ class SubjectType_(SamlBase):
c_cardinality = SamlBase.c_cardinality.copy()
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}BaseID'] = ('base_id',
BaseID)
- c_cardinality['base_id'] = {"min":0, "max":1}
+ c_cardinality['base_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}NameID'] = ('name_id',
NameID)
- c_cardinality['name_id'] = {"min":0, "max":1}
+ c_cardinality['name_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID'] = (
'encrypted_id', EncryptedID)
- c_cardinality['encrypted_id'] = {"min":0, "max":1}
+ c_cardinality['encrypted_id'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}SubjectConfirmation'] = (
'subject_confirmation', [SubjectConfirmation])
- c_cardinality['subject_confirmation'] = {"min":0}
+ c_cardinality['subject_confirmation'] = {"min": 0}
c_child_order.extend(['base_id', 'name_id', 'encrypted_id',
'subject_confirmation'])
def __init__(self,
- base_id=None,
- name_id=None,
- encrypted_id=None,
- subject_confirmation=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- 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.subject_confirmation=subject_confirmation or []
+ base_id=None,
+ name_id=None,
+ encrypted_id=None,
+ subject_confirmation=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ 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.subject_confirmation = subject_confirmation or []
+
def subject_type__from_string(xml_string):
return saml2.create_class_from_xml_string(SubjectType_, xml_string)
@@ -1329,6 +1358,7 @@ class Conditions(ConditionsType_):
c_child_order = ConditionsType_.c_child_order[:]
c_cardinality = ConditionsType_.c_cardinality.copy()
+
def conditions_from_string(xml_string):
return saml2.create_class_from_xml_string(Conditions, xml_string)
@@ -1343,6 +1373,7 @@ class AuthnStatement(AuthnStatementType_):
c_child_order = AuthnStatementType_.c_child_order[:]
c_cardinality = AuthnStatementType_.c_cardinality.copy()
+
def authn_statement_from_string(xml_string):
return saml2.create_class_from_xml_string(AuthnStatement, xml_string)
@@ -1357,6 +1388,7 @@ class AttributeStatement(AttributeStatementType_):
c_child_order = AttributeStatementType_.c_child_order[:]
c_cardinality = AttributeStatementType_.c_cardinality.copy()
+
def attribute_statement_from_string(xml_string):
return saml2.create_class_from_xml_string(AttributeStatement, xml_string)
@@ -1371,12 +1403,14 @@ class Subject(SubjectType_):
c_child_order = SubjectType_.c_child_order[:]
c_cardinality = SubjectType_.c_cardinality.copy()
+
def subject_from_string(xml_string):
return saml2.create_class_from_xml_string(Subject, xml_string)
#..................
-# ['AuthzDecisionStatement', 'EvidenceType', 'AdviceType', 'Evidence', 'Assertion', 'AssertionType', 'AuthzDecisionStatementType', 'Advice']
+# ['AuthzDecisionStatement', 'EvidenceType', 'AdviceType', 'Evidence',
+# 'Assertion', 'AssertionType', 'AuthzDecisionStatementType', 'Advice']
class EvidenceType_(SamlBase):
"""The urn:oasis:names:tc:SAML:2.0:assertion:EvidenceType element """
@@ -1386,33 +1420,36 @@ class EvidenceType_(SamlBase):
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}AssertionIDRef'] = ('assertion_id_ref', [AssertionIDRef])
- c_cardinality['assertion_id_ref'] = {"min":0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionURIRef'] = ('assertion_uri_ref', [AssertionURIRef])
- c_cardinality['assertion_uri_ref'] = {"min":0}
- c_cardinality['assertion'] = {"min":0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion'] = ('encrypted_assertion', [EncryptedAssertion])
- c_cardinality['encrypted_assertion'] = {"min":0}
- c_child_order.extend(['assertion_id_ref', 'assertion_uri_ref', 'assertion', 'encrypted_assertion'])
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionIDRef'] = (
+ 'assertion_id_ref', [AssertionIDRef])
+ c_cardinality['assertion_id_ref'] = {"min": 0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionURIRef'] = (
+ 'assertion_uri_ref', [AssertionURIRef])
+ c_cardinality['assertion_uri_ref'] = {"min": 0}
+ c_cardinality['assertion'] = {"min": 0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion'] = (
+ 'encrypted_assertion', [EncryptedAssertion])
+ c_cardinality['encrypted_assertion'] = {"min": 0}
+ c_child_order.extend(['assertion_id_ref', 'assertion_uri_ref', 'assertion',
+ 'encrypted_assertion'])
def __init__(self,
- assertion_id_ref=None,
- assertion_uri_ref=None,
- assertion=None,
- encrypted_assertion=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.assertion_id_ref=assertion_id_ref or []
- self.assertion_uri_ref=assertion_uri_ref or []
- self.assertion=assertion or []
- self.encrypted_assertion=encrypted_assertion or []
+ assertion_id_ref=None,
+ assertion_uri_ref=None,
+ assertion=None,
+ encrypted_assertion=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.assertion_id_ref = assertion_id_ref or []
+ self.assertion_uri_ref = assertion_uri_ref or []
+ self.assertion = assertion or []
+ self.encrypted_assertion = encrypted_assertion or []
+
def evidence_type__from_string(xml_string):
return saml2.create_class_from_xml_string(EvidenceType_, xml_string)
@@ -1428,12 +1465,14 @@ class Evidence(EvidenceType_):
c_child_order = EvidenceType_.c_child_order[:]
c_cardinality = EvidenceType_.c_cardinality.copy()
+
def evidence_from_string(xml_string):
return saml2.create_class_from_xml_string(Evidence, xml_string)
class AuthzDecisionStatementType_(StatementAbstractType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AuthzDecisionStatementType element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AuthzDecisionStatementType
+ element """
c_tag = 'AuthzDecisionStatementType'
c_namespace = NAMESPACE
@@ -1441,39 +1480,41 @@ class AuthzDecisionStatementType_(StatementAbstractType_):
c_attributes = StatementAbstractType_.c_attributes.copy()
c_child_order = StatementAbstractType_.c_child_order[:]
c_cardinality = StatementAbstractType_.c_cardinality.copy()
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Action'] = ('action', [Action])
- c_cardinality['action'] = {"min":1}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Evidence'] = ('evidence', Evidence)
- c_cardinality['evidence'] = {"min":0, "max":1}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Action'] = (
+ 'action', [Action])
+ c_cardinality['action'] = {"min": 1}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Evidence'] = (
+ 'evidence', Evidence)
+ c_cardinality['evidence'] = {"min": 0, "max": 1}
c_attributes['Resource'] = ('resource', 'anyURI', True)
c_attributes['Decision'] = ('decision', DecisionType_, True)
c_child_order.extend(['action', 'evidence'])
def __init__(self,
- action=None,
- evidence=None,
- resource=None,
- decision=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- StatementAbstractType_.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.action=action or []
- self.evidence=evidence
- self.resource=resource
- self.decision=decision
+ action=None,
+ evidence=None,
+ resource=None,
+ decision=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ StatementAbstractType_.__init__(
+ self, text=text, extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.action = action or []
+ self.evidence = evidence
+ self.resource = resource
+ self.decision = decision
+
def authz_decision_statement_type__from_string(xml_string):
- return saml2.create_class_from_xml_string(AuthzDecisionStatementType_, xml_string)
+ return saml2.create_class_from_xml_string(AuthzDecisionStatementType_,
+ xml_string)
class AuthzDecisionStatement(AuthzDecisionStatementType_):
- """The urn:oasis:names:tc:SAML:2.0:assertion:AuthzDecisionStatement element """
+ """The urn:oasis:names:tc:SAML:2.0:assertion:AuthzDecisionStatement
+ element """
c_tag = 'AuthzDecisionStatement'
c_namespace = NAMESPACE
@@ -1482,8 +1523,10 @@ class AuthzDecisionStatement(AuthzDecisionStatementType_):
c_child_order = AuthzDecisionStatementType_.c_child_order[:]
c_cardinality = AuthzDecisionStatementType_.c_cardinality.copy()
+
def authz_decision_statement_from_string(xml_string):
- return saml2.create_class_from_xml_string(AuthzDecisionStatement, xml_string)
+ return saml2.create_class_from_xml_string(AuthzDecisionStatement,
+ xml_string)
#..................
@@ -1504,19 +1547,20 @@ class AssertionType_(SamlBase):
c_cardinality['signature'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Subject'] = ('subject',
Subject)
- c_cardinality['subject'] = {"min":0, "max": 1}
+ c_cardinality['subject'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Conditions'] = (
'conditions', Conditions)
c_cardinality['conditions'] = {"min": 0, "max": 1}
- c_cardinality['advice'] = {"min":0, "max": 1}
+ c_cardinality['advice'] = {"min": 0, "max": 1}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Statement'] = (
'statement', [Statement])
c_cardinality['statement'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthnStatement'] = (
- 'authn_statement',[AuthnStatement])
+ 'authn_statement', [AuthnStatement])
c_cardinality['authn_statement'] = {"min": 0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AuthzDecisionStatement'] = (
- 'authz_decision_statement', [AuthzDecisionStatement])
+ c_children[
+ '{urn:oasis:names:tc:SAML:2.0:assertion}AuthzDecisionStatement'] = (
+ 'authz_decision_statement', [AuthzDecisionStatement])
c_cardinality['authz_decision_statement'] = {"min": 0}
c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AttributeStatement'] = (
'attribute_statement', [AttributeStatement])
@@ -1529,47 +1573,46 @@ class AssertionType_(SamlBase):
'authz_decision_statement', 'attribute_statement'])
def __init__(self,
- issuer=None,
- signature=None,
- subject=None,
- conditions=None,
- advice=None,
- statement=None,
- authn_statement=None,
- authz_decision_statement=None,
- attribute_statement=None,
- version=None,
- id=None,
- issue_instant=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.subject=subject
- self.conditions=conditions
- self.advice=advice
- self.statement=statement or []
- self.authn_statement=authn_statement or []
- self.authz_decision_statement=authz_decision_statement or []
- self.attribute_statement=attribute_statement or []
- self.version=version
- self.id=id
- self.issue_instant=issue_instant
+ issuer=None,
+ signature=None,
+ subject=None,
+ conditions=None,
+ advice=None,
+ statement=None,
+ authn_statement=None,
+ authz_decision_statement=None,
+ attribute_statement=None,
+ version=None,
+ id=None,
+ issue_instant=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.subject = subject
+ self.conditions = conditions
+ self.advice = advice
+ self.statement = statement or []
+ self.authn_statement = authn_statement or []
+ self.authz_decision_statement = authz_decision_statement or []
+ self.attribute_statement = attribute_statement or []
+ self.version = version
+ self.id = id
+ self.issue_instant = issue_instant
def verify(self):
# If no statement MUST contain a subject element
if self.attribute_statement or self.statement or \
- self.authn_statement or self.authz_decision_statement:
+ self.authn_statement or self.authz_decision_statement:
pass
elif not self.subject:
- raise MustValueError("If no statement MUST contain a subject element")
+ raise MustValueError(
+ "If no statement MUST contain a subject element")
if self.authn_statement and not self.subject:
raise MustValueError(
@@ -1577,6 +1620,7 @@ class AssertionType_(SamlBase):
return SamlBase.verify(self)
+
def assertion_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AssertionType_, xml_string)
@@ -1591,6 +1635,7 @@ class Assertion(AssertionType_):
c_child_order = AssertionType_.c_child_order[:]
c_cardinality = AssertionType_.c_cardinality.copy()
+
def assertion_from_string(xml_string):
return saml2.create_class_from_xml_string(Assertion, xml_string)
@@ -1604,35 +1649,39 @@ class AdviceType_(SamlBase):
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}AssertionIDRef'] = ('assertion_id_ref', [AssertionIDRef])
- c_cardinality['assertion_id_ref'] = {"min":0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionURIRef'] = ('assertion_uri_ref', [AssertionURIRef])
- c_cardinality['assertion_uri_ref'] = {"min":0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = ('assertion', [Assertion])
- c_cardinality['assertion'] = {"min":0}
- c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion'] = ('encrypted_assertion', [EncryptedAssertion])
- c_cardinality['encrypted_assertion'] = {"min":0}
- c_child_order.extend(['assertion_id_ref', 'assertion_uri_ref', 'assertion', 'encrypted_assertion'])
- c_any = {"namespace":"##other", "processContents":"lax"}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionIDRef'] = (
+ 'assertion_id_ref', [AssertionIDRef])
+ c_cardinality['assertion_id_ref'] = {"min": 0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}AssertionURIRef'] = (
+ 'assertion_uri_ref', [AssertionURIRef])
+ c_cardinality['assertion_uri_ref'] = {"min": 0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = (
+ 'assertion', [Assertion])
+ c_cardinality['assertion'] = {"min": 0}
+ c_children['{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion'] = (
+ 'encrypted_assertion', [EncryptedAssertion])
+ c_cardinality['encrypted_assertion'] = {"min": 0}
+ c_child_order.extend(['assertion_id_ref', 'assertion_uri_ref', 'assertion',
+ 'encrypted_assertion'])
+ c_any = {"namespace": "##other", "processContents": "lax"}
def __init__(self,
- assertion_id_ref=None,
- assertion_uri_ref=None,
- assertion=None,
- encrypted_assertion=None,
- text=None,
- extension_elements=None,
- extension_attributes=None,
- ):
- SamlBase.__init__(self,
- text=text,
- extension_elements=extension_elements,
- extension_attributes=extension_attributes,
- )
- self.assertion_id_ref=assertion_id_ref or []
- self.assertion_uri_ref=assertion_uri_ref or []
- self.assertion=assertion or []
- self.encrypted_assertion=encrypted_assertion or []
+ assertion_id_ref=None,
+ assertion_uri_ref=None,
+ assertion=None,
+ encrypted_assertion=None,
+ text=None,
+ extension_elements=None,
+ extension_attributes=None):
+ SamlBase.__init__(self,
+ text=text,
+ extension_elements=extension_elements,
+ extension_attributes=extension_attributes)
+ self.assertion_id_ref = assertion_id_ref or []
+ self.assertion_uri_ref = assertion_uri_ref or []
+ self.assertion = assertion or []
+ self.encrypted_assertion = encrypted_assertion or []
+
def advice_type__from_string(xml_string):
return saml2.create_class_from_xml_string(AdviceType_, xml_string)
@@ -1648,15 +1697,20 @@ class Advice(AdviceType_):
c_child_order = AdviceType_.c_child_order[:]
c_cardinality = AdviceType_.c_cardinality.copy()
+
def advice_from_string(xml_string):
return saml2.create_class_from_xml_string(Advice, xml_string)
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-EvidenceType_.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = ('assertion', [Assertion])
-Evidence.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = ('assertion', [Assertion])
-AssertionType_.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Advice'] = ('advice', Advice)
-Assertion.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Advice'] = ('advice', Advice)
+EvidenceType_.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = (
+ 'assertion', [Assertion])
+Evidence.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Assertion'] = (
+ 'assertion', [Assertion])
+AssertionType_.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Advice'] = (
+ 'advice', Advice)
+Assertion.c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Advice'] = (
+ 'advice', Advice)
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AG_IDNameQualifiers = [
@@ -1680,8 +1734,10 @@ ELEMENT_FROM_STRING = {
SubjectConfirmation.c_tag: subject_confirmation_from_string,
SubjectConfirmationType_.c_tag: subject_confirmation_type__from_string,
SubjectConfirmationData.c_tag: subject_confirmation_data_from_string,
- SubjectConfirmationDataType_.c_tag: subject_confirmation_data_type__from_string,
- KeyInfoConfirmationDataType_.c_tag: key_info_confirmation_data_type__from_string,
+ SubjectConfirmationDataType_.c_tag:
+ subject_confirmation_data_type__from_string,
+ KeyInfoConfirmationDataType_.c_tag:
+ key_info_confirmation_data_type__from_string,
Conditions.c_tag: conditions_from_string,
ConditionsType_.c_tag: conditions_type__from_string,
Condition.c_tag: condition_from_string,
@@ -1707,7 +1763,8 @@ ELEMENT_FROM_STRING = {
AuthnContextDecl.c_tag: authn_context_decl_from_string,
AuthenticatingAuthority.c_tag: authenticating_authority_from_string,
AuthzDecisionStatement.c_tag: authz_decision_statement_from_string,
- AuthzDecisionStatementType_.c_tag: authz_decision_statement_type__from_string,
+ AuthzDecisionStatementType_.c_tag:
+ authz_decision_statement_type__from_string,
DecisionType_.c_tag: decision_type__from_string,
Action.c_tag: action_from_string,
ActionType_.c_tag: action_type__from_string,
@@ -1783,5 +1840,4 @@ ELEMENT_BY_TAG = {
def factory(tag, **kwargs):
- return ELEMENT_BY_TAG[tag](**kwargs)
-
+ return ELEMENT_BY_TAG[tag](**kwargs) \ No newline at end of file