summaryrefslogtreecommitdiffstats
path: root/testapi/opnfv_testapi/ui
diff options
context:
space:
mode:
Diffstat (limited to 'testapi/opnfv_testapi/ui')
-rw-r--r--testapi/opnfv_testapi/ui/auth/constants.py2
-rw-r--r--testapi/opnfv_testapi/ui/auth/sign.py12
2 files changed, 14 insertions, 0 deletions
diff --git a/testapi/opnfv_testapi/ui/auth/constants.py b/testapi/opnfv_testapi/ui/auth/constants.py
index ec59751..43f69d7 100644
--- a/testapi/opnfv_testapi/ui/auth/constants.py
+++ b/testapi/opnfv_testapi/ui/auth/constants.py
@@ -1,3 +1,5 @@
+OPENID = 'openid'
+
# OpenID parameters
OPENID_MODE = 'openid.mode'
OPENID_NS = 'openid.ns'
diff --git a/testapi/opnfv_testapi/ui/auth/sign.py b/testapi/opnfv_testapi/ui/auth/sign.py
index c92196a..7319084 100644
--- a/testapi/opnfv_testapi/ui/auth/sign.py
+++ b/testapi/opnfv_testapi/ui/auth/sign.py
@@ -43,3 +43,15 @@ class SigninReturnHandler(base.BaseHandler):
if not self.get_secure_cookie('openid'):
self.set_secure_cookie('openid', openid)
self.redirect(url=CONF.ui_url)
+
+
+class SignoutHandler(base.BaseHandler):
+ def get(self):
+ """Handle signout request."""
+ openid = self.get_secure_cookie(const.OPENID)
+ if openid:
+ self.clear_cookie(const.OPENID)
+ params = {'openid_logout': CONF.osid_openid_logout_endpoint}
+ url = parse.urljoin(CONF.ui_url,
+ '/#/logout?' + parse.urlencode(params))
+ self.redirect(url)