summaryrefslogtreecommitdiffstats
path: root/python/lasso.py
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-04-27 09:34:22 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-04-27 09:34:22 +0000
commit626ccdc6a7ebc47b2365741171550d61c9249a34 (patch)
tree721e2ff4bb13cd0862404aac37e8fa8c4556680d /python/lasso.py
parent4ba332309f5790d8aea993c42479fc752dc7355b (diff)
downloadlasso-626ccdc6a7ebc47b2365741171550d61c9249a34.tar.gz
lasso-626ccdc6a7ebc47b2365741171550d61c9249a34.tar.xz
lasso-626ccdc6a7ebc47b2365741171550d61c9249a34.zip
add LogoutRequest/Response, FederationTerminationNotification, RegisterNameIdentifierRequest/Response classes in python
Diffstat (limited to 'python/lasso.py')
-rw-r--r--python/lasso.py167
1 files changed, 114 insertions, 53 deletions
diff --git a/python/lasso.py b/python/lasso.py
index cd529551..0ad484f8 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -47,6 +47,7 @@ def shutdown():
def assertion_build(response, issuer):
return Node(_obj=lassomod.assertion_build(response, issuer))
+
def assertion_add_authenticationStatement(assertion, statement):
return lassomod.assertion_add_authenticationStatement(assertion, statement)
@@ -64,6 +65,36 @@ def authentication_statement_build(authenticationMethod, sessionIndex,
idp_nameQualifier, idp_format,
confirmationMethod))
+
+class Node:
+ def __init__(self, _obj=None):
+ """
+ """
+## if _obj != None:
+## self._o = _obj
+## return
+## #self._o = lassomod.(size)
+## if self._o is None: raise Error('lasso_node_new() failed')
+
+ def dump(self, encoding = "utf8", format = 1):
+ return lassomod.node_dump(self, encoding, format)
+
+ def destroy(self):
+ lassomod.node_unref(self)
+
+ def get_attr_value(self, name):
+ return lassomod.node_get_attr_value(self, name)
+
+ def get_child(self, name):
+ return Node(_obj=lassomod.node_get_child(self, name))
+
+ def url_encode(self, sign_method, private_key_file):
+ return lassomod.node_url_encode(self, sign_method, private_key_file)
+
+ def verify_signature(self, certificate_file):
+ return lassomod.node_verify_signature(self, certificate_file)
+
+
class AuthnRequest:
def __init__(self, providerID, nameIDPolicy, forceAuthn, isPassive,
protocolProfile, assertionConsumerServiceID,
@@ -89,8 +120,10 @@ class AuthnRequest:
idpList,
consent)
if self._o is None: raise Error('lasso_authn_request_create() failed')
+
def __isprivate(self, name):
return name == '_o'
+
def __getattr__(self, name):
if self.__isprivate(name):
return self.__dict__[name]
@@ -103,6 +136,7 @@ class AuthnRequest:
ret = Node(_obj=ret)
return ret
+
class AuthnResponse:
def __init__(self, query, verify_signature, public_key_file,
private_key_file, certificate_file, is_authenticated,
@@ -141,6 +175,7 @@ class AuthnResponse:
def add_assertion(self, assertion):
return lassomod.authn_response_add_assertion(self, assertion)
+
class Request:
def __init__(self, assertionArtifact, _obj=None):
"""
@@ -166,6 +201,7 @@ class Request:
ret = Node(_obj=ret)
return ret
+
class Response:
def __init__(self,
serialized_request,
@@ -205,23 +241,22 @@ class Response:
def add_assertion(self, assertion):
return lassomod.response_add_assertion(self, assertion)
-class LogoutRequest:
- def __init__(self, providerID,
+
+class LogoutRequest(Node):
+ def __init__(self,
+ providerID,
nameIdentifier, nameQualifier, format,
- sessionIndex, relayState, consent, _obj=None):
+ _obj=None):
"""
"""
if _obj != None:
self._o = _obj
return
- self._o = lassomod.logout_request_create(providerID,
- nameIdentifier,
- nameQualifier,
- format,
- sessionIndex,
- relayState,
- consent)
- if self._o is None: raise Error('lasso_logout_request_create() failed')
+ self._o = lassomod.logout_request(providerID,
+ nameIdentifier,
+ nameQualifier,
+ format)
+ if self._o is None: raise Error('lasso_logout_request() failed')
def __isprivate(self, name):
return name == '_o'
@@ -238,25 +273,22 @@ class LogoutRequest:
ret = Node(_obj=ret)
return ret
-class LogoutResponse:
+
+class LogoutResponse(Node):
def __init__(self,
- query,
- verifySignature,
- public_key,
- private_key,
- certificate,
+ providerID,
+ statusCodeValue,
+ request,
_obj=None):
"""
"""
if _obj != None:
self._o = _obj
return
- self._o = lassomod.logout_response_create(query,
- verifySignature,
- public_key,
- private_key,
- certificate)
- if self._o is None: raise Error('lasso_logout_response_create() failed')
+ self._o = lassomod.logout_response(providerID,
+ statusCodeValue,
+ request)
+ if self._o is None: raise Error('lasso_logout_response() failed')
def __isprivate(self, name):
return name == '_o'
@@ -273,27 +305,24 @@ class LogoutResponse:
ret = Node(_obj=ret)
return ret
- def init(self, providerID, statusCodeValue, relayState):
- return lassomod.logout_response_init(self, providerID, statusCodeValue, relayState)
-
-class RegisterNameIdentifierRequest:
- def __init__(self, providerID,
+class RegisterNameIdentifierRequest(Node):
+ def __init__(self,
+ providerID,
idpNameIdentifier, idpNameQualifier, idpFormat,
- spNameIdentifier, spNameQualifier, spFormat,
+ spNameIdentifier, spNameQualifier, spFormat,
oldNameIdentifier, oldNameQualifier, oldFormat,
- relayState, _obj=None):
+ _obj=None):
"""
"""
if _obj != None:
self._o = _obj
return
- self._o = lassomod.register_name_identifier_request_create(providerID,
- idpNameIdentifier, idpNameQualifier, idpFormat,
- spNameIdentifier, spNameQualifier, spFormat,
- oldNameIdentifier, oldNameQualifier, oldFormat,
- relayState)
- if self._o is None: raise Error('lasso_logout_request_create() failed')
+ self._o = lassomod.register_name_identifier_request(providerID,
+ idpNameIdentifier, idpNameQualifier, idpFormat,
+ spNameIdentifier, spNameQualifier, spFormat,
+ oldNameIdentifier, oldNameQualifier, oldFormat)
+ if self._o is None: raise Error('lasso_register_name_identifier_request() failed')
def __isprivate(self, name):
return name == '_o'
@@ -310,30 +339,62 @@ class RegisterNameIdentifierRequest:
ret = Node(_obj=ret)
return ret
-
-class Node:
- def __init__(self, _obj=None):
+class RegisterNameIdentifierResponse(Node):
+ def __init__(self,
+ providerID,
+ statusCodeValue,
+ request,
+ _obj=None):
"""
"""
if _obj != None:
self._o = _obj
return
- #self._o = lassomod.(size)
- if self._o is None: raise Error('lasso_node_new() failed')
- def dump(self, encoding, format):
- return lassomod.node_dump(self, encoding, format)
+ self._o = lassomod.register_name_identifier_response(providerID,
+ statusCodeValue,
+ request)
+ if self._o is None: raise Error('lasso_register_name_identifier_response() failed')
- def destroy(self):
- lassomod.node_unref(self)
+ def __isprivate(self, name):
+ return name == '_o'
- def get_attr_value(self, name):
- return lassomod.node_get_attr_value(self, name)
+ def __getattr__(self, name):
+ if self.__isprivate(name):
+ return self.__dict__[name]
+ if name[:2] == "__" and name[-2:] == "__" and name != "__members__":
+ raise AttributeError, name
+ ret = lassomod.register_name_identifier_response_getattr(self, name)
+ if ret is None:
+ raise AttributeError, name
+ if name == "node":
+ ret = Node(_obj=ret)
+ return ret
- def get_child(self, name):
- return Node(_obj=lassomod.node_get_child(self, name))
+class FederationTerminationNotification(Node):
+ def __init__(self,
+ providerID,
+ nameIdentifier, nameQualifier, format,
+ _obj=None):
+ """
+ """
+ if _obj != None:
+ self._o = _obj
+ return
+ self._o = lassomod.federation_termination_notification(providerID,
+ nameIdentifier, nameQualifier, format)
+ if self._o is None: raise Error('lasso_federation_termination_notification() failed')
- def url_encode(self, sign_method, private_key_file):
- return lassomod.node_url_encode(self, sign_method, private_key_file)
+ def __isprivate(self, name):
+ return name == '_o'
- def verify_signature(self, certificate_file):
- return lassomod.node_verify_signature(self, certificate_file)
+ def __getattr__(self, name):
+ if self.__isprivate(name):
+ return self.__dict__[name]
+ if name[:2] == "__" and name[-2:] == "__" and name != "__members__":
+ raise AttributeError, name
+ ret = lassomod.federation_termination_notification_getattr(self, name)
+ if ret is None:
+ raise AttributeError, name
+ if name == "node":
+ ret = Node(_obj=ret)
+ return ret