def _redirects_for_login(self, req): """Redirects the user to auth_server for login. """ state = self._referer(req) # Use state to contain next url. if not state or "/auth_server_" in state: # we don't want to be redirected on a auth_server_* url. state = req.abs_href() url = oauth2.get_login_url(state) req.redirect(url)
def login(self, request, environ, start_response): # Redirect the user to auth_server for login: url = oauth2.get_login_url() start_response('302 Redirect', [('Location', url)]) return ['']
def test_state(self): url = oauth2.get_login_url("somestate") self.assertEqual(url, ("http://authserver/oauth2/auth?state=somestate&" "redirect_uri=http%3A%2F%2Fme%2Foauth2%2Fprocess&" "response_type=code&client_id=clientid"))
def pre_process_request(self, req, handler): if req.path_info.startswith('/auth_server_') or req.authname != 'anonymous': return handler state = req.abs_href() + req.path_info url = oauth2.get_login_url(state) req.redirect(url)