diff options
| author | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-06 18:16:02 +0000 |
|---|---|---|
| committer | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-06 18:16:02 +0000 |
| commit | ac64060db74dca8bd4f6ced4589d479a47242635 (patch) | |
| tree | 5036db08e3950e374aa871ae80871bb104873253 /python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py | |
| parent | 53dda91b657f818263afd759a24ef3f4966a9f89 (diff) | |
| download | lasso-ac64060db74dca8bd4f6ced4589d479a47242635.tar.gz lasso-ac64060db74dca8bd4f6ced4589d479a47242635.tar.xz lasso-ac64060db74dca8bd4f6ced4589d479a47242635.zip | |
Added Python files explaining how to create a SP using Lasso.
Diffstat (limited to 'python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py')
| -rw-r--r-- | python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py b/python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py new file mode 100644 index 00000000..6f7ad43d --- /dev/null +++ b/python/doc/tutorial/sp-logout-process-idp-initiated-soap-request.py @@ -0,0 +1,30 @@ +import lasso + + +## SOAP Logout initiated by identity provider. + +soap_request = [...] # Get content of HTTP POST command. +server_dump = [...] # Load string server_dump from file or database or... +server = lasso.Server.new_from_dump(server_dump) +logout = lasso.Logout.new(server) +if logout.handle_request(soap_request, lasso.httpMethods['soap']): + raise Exception('Logout error') +name_identifier = logout.response.name_identifier +account = [...] # Retrieve user account having this name_identifier. +if not account: + # Unknown account. + logout.response_status = lasso.libStatusCodes['unknownPrincipal'] +else: + user_dump = [...] # Retrieve string user_dump from account. + if not user_dump: + logout.response_status = lasso.libStatusCodes['unknownPrincipal'] + else: + user = lasso.User.new_from_dump(user_dump) + del user.authn_assertion + user_dump = user.dump() + [...] # Store string user_dump into account (replace the previous one). + # User is now logged out => delete session, cookie... + [...] +if logout.build_response_msg(): + raise Exception('Logout error') +[...] # Reply a HTTP SOAP response using logout.msg_body. |
