support cancel operation while signing in
[releng.git] / utils / test / testapi / opnfv_testapi / ui / auth / sign.py
index 7319084..6a9d94e 100644 (file)
@@ -32,6 +32,9 @@ class SigninHandler(base.BaseHandler):
 
 class SigninReturnHandler(base.BaseHandler):
     def get(self):
+        if self.get_query_argument(const.OPENID_MODE) == 'cancel':
+            self._auth_failure('Authentication canceled.')
+
         openid = self.get_query_argument(const.OPENID_CLAIMED_ID)
         user_info = {
             'openid': openid,
@@ -44,6 +47,12 @@ class SigninReturnHandler(base.BaseHandler):
             self.set_secure_cookie('openid', openid)
         self.redirect(url=CONF.ui_url)
 
+    def _auth_failure(self, message):
+        params = {'message': message}
+        url = parse.urljoin(CONF.ui_url,
+                            '/#/auth_failure?' + parse.urlencode(params))
+        self.redirect(url)
+
 
 class SignoutHandler(base.BaseHandler):
     def get(self):