1 from six.moves.urllib import parse
3 from opnfv_testapi.common import config
4 from opnfv_testapi.ui.auth import base
5 from opnfv_testapi.ui.auth import constants as const
10 class SigninHandler(base.BaseHandler):
12 csrf_token = base.get_token()
13 return_endpoint = parse.urljoin(CONF.api_url,
14 CONF.osid_openid_return_to)
15 return_to = base.set_query_params(return_endpoint,
16 {const.CSRF_TOKEN: csrf_token})
19 const.OPENID_MODE: CONF.osid_openid_mode,
20 const.OPENID_NS: CONF.osid_openid_ns,
21 const.OPENID_RETURN_TO: return_to,
22 const.OPENID_CLAIMED_ID: CONF.osid_openid_claimed_id,
23 const.OPENID_IDENTITY: CONF.osid_openid_identity,
24 const.OPENID_REALM: CONF.api_url,
25 const.OPENID_NS_SREG: CONF.osid_openid_ns_sreg,
26 const.OPENID_NS_SREG_REQUIRED: CONF.osid_openid_sreg_required,
28 url = CONF.osid_openstack_openid_endpoint
29 url = base.set_query_params(url, params)
30 self.redirect(url=url, permanent=False)
33 class SigninReturnHandler(base.BaseHandler):
35 openid = self.get_query_argument(const.OPENID_CLAIMED_ID)
38 'email': self.get_query_argument(const.OPENID_NS_SREG_EMAIL),
39 'fullname': self.get_query_argument(const.OPENID_NS_SREG_FULLNAME)
42 self.db_save(self.table, user_info)
43 if not self.get_secure_cookie('openid'):
44 self.set_secure_cookie('openid', openid)
45 self.redirect(url=CONF.ui_url)