예제 #1
0
 def state_from_request(cls, request):
     state = {}
     next_url = get_next_redirect_url(request)
     if next_url:
         state['next'] = next_url
     state['process'] = request.REQUEST.get('process', 'login')
     return state
예제 #2
0
 def state_from_request(cls, request):
     state = {}
     next_url = get_next_redirect_url(request)
     if next_url:
         state["next"] = next_url
     state["process"] = request.REQUEST.get("process", "login")
     return state
예제 #3
0
파일: views.py 프로젝트: Faldrian/kuma
 def dispatch(self, request):
     next_url = (get_next_redirect_url(request) or
                 reverse('users.my_profile_edit',
                         locale=request.locale))
     request.session['sociallogin_next_url'] = next_url
     request.session.modified = True
     return super(KumaOAuth2LoginView, self).dispatch(request)
예제 #4
0
 def get_success_url(self):
     from allauth.account.utils import get_next_redirect_url
     # Explicitly passed ?next= URL takes precedence
     ret = (get_next_redirect_url(self.request,
                                  self.redirect_field_name)
            or self.success_url)
     return ret
예제 #5
0
파일: views.py 프로젝트: km4054/eNarocanje
    def get_success_url(self):

        # Explicitly passed ?next= URL takes precedence
        if self.request.POST.get('action') == 'singupprovider':
            return '/accounts/signup/provider/'
        else:
            ret = (get_next_redirect_url(self.request, self.redirect_field_name) or self.success_url)
            return ret
 def get_success_url(self):
     user_type = self.request.REQUEST.get('user_type')
     self.request.session['user_type'] = user_type
     self.success_url = reverse_lazy(user_type)
     ret = (get_next_redirect_url(self.request,
                                  self.redirect_field_name)
            or self.success_url)
     return ret
예제 #7
0
 def state_from_request(cls, request):
     state = {}
     next_url = get_next_redirect_url(request)
     if next_url:
         state['next'] = next_url
     state['process'] = get_request_param(request, 'process', 'login')
     state['scope'] = get_request_param(request, 'scope', '')
     state['auth_params'] = get_request_param(request, 'auth_params', '')
     return state
예제 #8
0
 def state_from_request(cls, request):
     state = {}
     next_url = get_next_redirect_url(request)
     if next_url:
         state['next'] = next_url
     state['process'] = get_request_param(request, 'process', 'login')
     state['scope'] = get_request_param(request, 'scope', '')
     state['auth_params'] = get_request_param(request, 'auth_params', '')
     return state
예제 #9
0
파일: models.py 프로젝트: Leesungsup/myvenv
 def state_from_request(cls, request):
     state = {}
     next_url = get_next_redirect_url(request)
     if next_url:
         state["next"] = next_url
     state["process"] = get_request_param(request, "process", "login")
     state["scope"] = get_request_param(request, "scope", "")
     state["auth_params"] = get_request_param(request, "auth_params", "")
     return state
예제 #10
0
    def get_success_url(self):
        # After loggin them in, assign the first Level training so we know where to route them
        Level.objects.create(user=self.user, task_type=self.request.session.get('initial_training'), level=3, created=timezone.now())

        # Explicitly passed ?next= URL takes precedence
        ret = (
            get_next_redirect_url(
            self.request,
            self.redirect_field_name) or self.success_url)
        return ret
예제 #11
0
 def get_success_url(self):
     # Explicitly passed ?next= URL takes precedence
     ret = (
         get_next_redirect_url(
             self.request,
             self.redirect_field_name
         )
         or self.success_url
     )
     return ret
예제 #12
0
def cas_account_logout(sender, request, **kwargs):
    provider_id = request.session.get(CAS_PROVIDER_SESSION_KEY)

    if not provider_id:
        return

    provider = providers.registry.by_id(provider_id, request)

    if not provider.message_suggest_caslogout_on_logout(request):
        return

    next_page = (
        get_next_redirect_url(request) or
        get_adapter(request).get_logout_redirect_url(request)
    )

    provider.add_message_suggest_caslogout(
        request, next_page=next_page,
        level=provider.message_suggest_caslogout_on_logout_level(request),
    )
예제 #13
0
    def dispatch(self, request):
        # TODO: Figure out a way to NOT trigger the "ACTION_AUTH_STARTED" when
        # simply following the link. We've seen far too many submissions when
        # curl or some browser extensions follow the link but not actually being
        # users who proceed "earnestly".
        # For now, to make a simple distinction between uses of `curl` and normal
        # browser clicks we check that a HTTP_REFERER is actually set and comes
        # from the same host as the request.
        # Note! This is the same in kuma.users.providers.google.KumaOAuth2LoginView
        # See https://github.com/mdn/kuma/issues/6759
        http_referer = request.META.get("HTTP_REFERER")
        if http_referer:
            if urlparse(http_referer).netloc == request.get_host():
                track_event(CATEGORY_SIGNUP_FLOW, ACTION_AUTH_STARTED,
                            "github")

        next_url = get_next_redirect_url(request) or reverse(
            "users.my_edit_page")
        request.session["sociallogin_next_url"] = next_url
        request.session.modified = True
        return super(KumaOAuth2LoginView, self).dispatch(request)
예제 #14
0
    def get_service_url(self, request):
        """The service url, used by the CAS client.

        According to the CAS spec, the service url is passed by the CAS client
        at several times. It must be the same for all interactions with the CAS
        server.

        It is used as redirection from the CAS server after a succssful
        authentication. So, the callback url is used as service url.

        If present, the GET param ``next`` is added to the service url.
        """
        redirect_to = get_next_redirect_url(request)

        callback_kwargs = {'next': redirect_to} if redirect_to else {}
        callback_url = (
            self.provider.get_callback_url(request, **callback_kwargs))

        service_url = request.build_absolute_uri(callback_url)

        return service_url
예제 #15
0
    def get_service_url(self, request):
        """
        Returns the service url to for a CAS client.

        From CAS specification, the service url is used in order to redirect
        user after a successful login on CAS server. Also, service_url sent
        when ticket is verified must be the one for which ticket was issued.

        To conform this, the service url is always the callback url.

        A redirect url is found from the current request and appended as
        parameter to the service url and is latter used by the callback view to
        redirect user.
        """
        redirect_to = get_next_redirect_url(request)

        callback_kwargs = {'next': redirect_to} if redirect_to else {}
        callback_url = self.get_callback_url(request, **callback_kwargs)

        service_url = request.build_absolute_uri(callback_url)

        return service_url
예제 #16
0
 def dispatch(self, request):
     next_url = (get_next_redirect_url(request)
                 or reverse('users.my_edit_page'))
     request.session['sociallogin_next_url'] = next_url
     request.session.modified = True
     return super(KumaOAuth2LoginView, self).dispatch(request)
예제 #17
0
 def state_from_request(cls, request):
     state = {}
     next = get_next_redirect_url(request)
     if next:
         state['next'] = next
     return state
예제 #18
0
 def get_redirect_url(self):
     return (get_next_redirect_url(self.request,
                                   self.redirect_field_name)
             or get_account_adapter().get_logout_redirect_url(self.request))
예제 #19
0
 def state_from_request(cls, request):
     state = {}
     next = get_next_redirect_url(request)
     if next:
         state['next'] = next
     return state
예제 #20
0
 def get_success_url(self):
     # Explicitly passed ?next= URL takes precedence
     ret = (get_next_redirect_url(self.request, self.redirect_field_name)
            or self.success_url)
     return ret
예제 #21
0
 def get_success_url(self):
     next_url = get_next_redirect_url(self.request, 'next')
     if next_url:
         return "%s" % next_url
     else:
         return reverse_lazy('browse')
예제 #22
0
 def get_redirect_url(self):
     return (get_next_redirect_url(self.request, self.redirect_field_name)
             or get_adapter(self.request).get_logout_redirect_url(
                 self.request))