From ac64060db74dca8bd4f6ced4589d479a47242635 Mon Sep 17 00:00:00 2001 From: Emmanuel Raviart Date: Tue, 6 Jul 2004 18:16:02 +0000 Subject: Added Python files explaining how to create a SP using Lasso. --- python/doc/tutorial/sp-logout-send-request.py | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 python/doc/tutorial/sp-logout-send-request.py (limited to 'python/doc/tutorial/sp-logout-send-request.py') diff --git a/python/doc/tutorial/sp-logout-send-request.py b/python/doc/tutorial/sp-logout-send-request.py new file mode 100644 index 00000000..d739cf14 --- /dev/null +++ b/python/doc/tutorial/sp-logout-send-request.py @@ -0,0 +1,29 @@ +import lasso + + +## Logout initiated by service provider: Send a logout request to identity provider. +## +## Called when the user press logout button on service provider. + +server_dump = [...] # Load string server_dump from file or database or... +server = lasso.Server.new_from_dump(server_dump) +user_dump = [...] # Retrieve string user_dump from logged user account. +user = lasso.User.new_from_dump(user_dump) +logout = lasso.Logout.new(server, user) +if logout.init_request(): + raise Exception('Logout error') +if logout.build_request_msg(): + raise Exception('Logout error') +if not logout.msg_body: + [...] # Reply a HTTP redirect to logout.msg_url. +else: + # Send a logout SOAP message to identity provider. + [...] # Logout user from service provider, but do not erase user_dump. + soap_response = [...] # Send SOAP message logout.msg_body to URL logout.msg_url. + if logout.handle_response(soap_response, lasso.httpMethods['soap']): + raise Exception('Logout error') + # Save the updated user_dump into account. + user_dump = logout.user.dump() + [...] # Store string user_dump into account (replace the previous one). + # User is now logged out => delete session, cookie... + [...] -- cgit