summaryrefslogtreecommitdiffstats
path: root/python/doc/tutorial/sp-logout-process-response.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/doc/tutorial/sp-logout-process-response.py')
-rw-r--r--python/doc/tutorial/sp-logout-process-response.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/python/doc/tutorial/sp-logout-process-response.py b/python/doc/tutorial/sp-logout-process-response.py
new file mode 100644
index 00000000..e57e06d5
--- /dev/null
+++ b/python/doc/tutorial/sp-logout-process-response.py
@@ -0,0 +1,19 @@
+import lasso
+
+
+## Logout initiated by service provider (continued): Process the HTTP redirect logout response returned by
+## identity provider.
+
+query = [...] # Get current URL query.
+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.handle_response(query, lasso.httpMethods['redirect']):
+ 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...
+[...]