def _build_ajax_401_response(self, request): """ Return 401 info, inlclude login_url to PAAS-LOGIN-PLATFORM, width & height for adjusting iframe window, login_url as http://xxx/login/?c_url=http%3A//xxx/t/data/&app_id=data """ _next = request.build_absolute_uri(reverse("account:login_success")) if self._conf.ADD_CROSS_PREFIX: _next = self._conf.CROSS_PREFIX + _next _login_url = build_redirect_url( _next, self._conf.LOGIN_PLAIN_URL, self._conf.C_URL, extra_args=self._build_extra_args(), ) context = { "login_url": _login_url, "width": self._conf.IFRAME_WIDTH, "height": self._conf.IFRAME_HEIGHT, "has_plain": True, } return JsonResponse(context, status=401)
def _build_page_401_response(self, request): """ Redirect to login page in self app, redirect url format as http://xxx:8000/account/login_page/?refer_url=http%3A//xxx%3A8000/ """ _login_url = request.build_absolute_uri(reverse("account:login_page")) _next = request.build_absolute_uri() _redirect = build_redirect_url(_next, _login_url, "refer_url") return HttpResponseRedirect(_redirect)
def _build_page_401_response_to_platform(self, request): """ Directly redirect to PAAS-LOGIN-PLATFORM """ _next = request.build_absolute_uri() if self._conf.ADD_CROSS_PREFIX: _next = self._conf.CROSS_PREFIX + _next _login_url = build_redirect_url(_next, self._conf.LOGIN_URL, self._conf.C_URL, extra_args=self._build_extra_args()) return HttpResponseRedirect(_login_url)
def _build_page_401_response(self, request): """ Redirect to login page in self app, redirect url format as http://xxx:8000/account/login_page/?refer_url=http%3A//xxx%3A8000/ """ if self._settings.RUN_MODE in ['PRODUCT']: _login_url = self._conf.CONSOLE_LOGIN_URL else: _login_url = request.build_absolute_uri( reverse('account:login_page')) _next = request.build_absolute_uri() _redirect = build_redirect_url(_next, _login_url, 'refer_url') return HttpResponseRedirect(_redirect)
def build_weixin_401_response(self, request): """ todo,说明 url 格式 """ _login_url = self._conf.WEIXIN_OAUTH_URL _next = request.build_absolute_uri() extra_args = { 'appid': self._conf.WEIXIN_APP_ID, 'response_type': 'code', 'scope': 'snsapi_base', 'state': request.session['WEIXIN_OAUTH_STATE'] } _redirect = build_redirect_url( _next, _login_url, 'redirect_uri', extra_args=extra_args) return HttpResponseRedirect(_redirect)
def build_weixin_401_response(self, request): """ todo,说明 url 格式 """ _login_url = self._conf.WEIXIN_OAUTH_URL _next = request.build_absolute_uri() extra_args = { "appid": self._conf.WEIXIN_APP_ID, "response_type": "code", "scope": "snsapi_base", "state": request.session["WEIXIN_OAUTH_STATE"], } _redirect = build_redirect_url( _next, _login_url, "redirect_uri", extra_args=extra_args ) return HttpResponseRedirect(_redirect)