From 5f9b0d1c9de2cc3a094c31467e2be697b4ac20e3 Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Fri, 19 May 2017 14:50:17 +0800 Subject: add signout funcationality Change-Id: Ie101f07f0eb406eee4e1c7daa14b07aaaf554904 Signed-off-by: SerenaFeng --- testapi/opnfv_testapi/router/url_mappings.py | 1 + testapi/opnfv_testapi/ui/auth/constants.py | 2 ++ testapi/opnfv_testapi/ui/auth/sign.py | 12 ++++++++++++ 3 files changed, 15 insertions(+) diff --git a/testapi/opnfv_testapi/router/url_mappings.py b/testapi/opnfv_testapi/router/url_mappings.py index d686701..aea85a4 100644 --- a/testapi/opnfv_testapi/router/url_mappings.py +++ b/testapi/opnfv_testapi/router/url_mappings.py @@ -62,5 +62,6 @@ mappings = [ (r'/', root.RootHandler), (r'/api/v1/auth/signin', sign.SigninHandler), (r'/api/v1/auth/signin_return', sign.SigninReturnHandler), + (r'/api/v1/auth/signout', sign.SignoutHandler), (r'/api/v1/profile', user.ProfileHandler), ] 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) -- cgit 1.2.3-korg