add signout funcationality 31/35031/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Fri, 19 May 2017 06:50:17 +0000 (14:50 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Fri, 19 May 2017 06:50:17 +0000 (14:50 +0800)
Change-Id: Ie101f07f0eb406eee4e1c7daa14b07aaaf554904
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/testapi/opnfv_testapi/router/url_mappings.py
utils/test/testapi/opnfv_testapi/ui/auth/constants.py
utils/test/testapi/opnfv_testapi/ui/auth/sign.py

index d686701..aea85a4 100644 (file)
@@ -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),
 ]
index ec59751..43f69d7 100644 (file)
@@ -1,3 +1,5 @@
+OPENID = 'openid'
+
 # OpenID parameters
 OPENID_MODE = 'openid.mode'
 OPENID_NS = 'openid.ns'
index c92196a..7319084 100644 (file)
@@ -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)