add signin web to TestAPI
[releng.git] / utils / test / testapi / opnfv_testapi / ui / auth / handlers.py
1 from six.moves.urllib import parse
2
3 from opnfv_testapi.common import config
4 from opnfv_testapi.resources import handlers
5 from opnfv_testapi.ui.auth import constants as const
6 from opnfv_testapi.ui.auth import utils
7
8
9 CONF = config.Config()
10
11
12 class SigninHandler(handlers.GenericApiHandler):
13     def get(self):
14         csrf_token = utils.get_token()
15         return_endpoint = parse.urljoin(CONF.api_url,
16                                         CONF.osid_openid_return_to)
17         return_to = utils.set_query_params(return_endpoint,
18                                            {const.CSRF_TOKEN: csrf_token})
19
20         params = {
21             const.OPENID_MODE: CONF.osid_openid_mode,
22             const.OPENID_NS: CONF.osid_openid_ns,
23             const.OPENID_RETURN_TO: return_to,
24             const.OPENID_CLAIMED_ID: CONF.osid_openid_claimed_id,
25             const.OPENID_IDENTITY: CONF.osid_openid_identity,
26             const.OPENID_REALM: CONF.api_url,
27             const.OPENID_NS_SREG: CONF.osid_openid_ns_sreg,
28             const.OPENID_NS_SREG_REQUIRED: CONF.osid_openid_sreg_required,
29         }
30         url = CONF.osid_openstack_openid_endpoint
31         url = utils.set_query_params(url, params)
32         self.redirect(url=url, permanent=False)
33
34
35 class SigninReturnHandler(handlers.GenericApiHandler):
36     def get(self):
37         self.redirect(url=CONF.ui_url)