def signin(self): """Handle signin request.""" session = api_utils.get_user_session() if api_utils.is_authenticated(): pecan.redirect(CONF.ui_url) else: api_utils.delete_params_from_user_session([const.USER_OPENID]) csrf_token = api_utils.get_token() session[const.CSRF_TOKEN] = csrf_token session.save() return_endpoint = parse.urljoin(CONF.api.api_url, CONF.osid.openid_return_to) return_to = api_utils.set_query_params(return_endpoint, {const.CSRF_TOKEN: csrf_token}) params = { const.OPENID_MODE: CONF.osid.openid_mode, const.OPENID_NS: CONF.osid.openid_ns, const.OPENID_RETURN_TO: return_to, const.OPENID_CLAIMED_ID: CONF.osid.openid_claimed_id, const.OPENID_IDENTITY: CONF.osid.openid_identity, const.OPENID_REALM: CONF.api.api_url, const.OPENID_NS_SREG: CONF.osid.openid_ns_sreg, const.OPENID_NS_SREG_REQUIRED: CONF.osid.openid_sreg_required, } url = CONF.osid.openstack_openid_endpoint url = api_utils.set_query_params(url, params) pecan.redirect(location=url)
def test_set_query_params(self): url = 'http://e.io/path#fragment' new_url = api_utils.set_query_params(url, {'foo': 'bar', '?': 42}) self.assertEqual(parse.parse_qs(parse.urlparse(new_url)[4]), { 'foo': ['bar'], '?': ['42'] })
def test_set_query_params(self): url = "http://e.io/path#fragment" new_url = api_utils.set_query_params(url, {"foo": "bar", "?": 42}) self.assertEqual(parse.parse_qs(parse.urlparse(new_url)[4]), {"foo": ["bar"], "?": ["42"]})
def test_set_query_params(self): url = 'http://e.io/path#fragment' new_url = api_utils.set_query_params(url, {'foo': 'bar', '?': 42}) self.assertEqual(parse.parse_qs(parse.urlparse(new_url)[4]), {'foo': ['bar'], '?': ['42']})