Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)