コード例 #1
0
ファイル: auth_config.py プロジェクト: blacknode/sentry
    def respond_authenticated(self, request):
        next_uri = self.get_next_uri(request)

        if not auth.is_valid_redirect(next_uri, host=request.get_host()):
            active_org = self.get_active_organization(request)
            next_uri = auth.get_org_redirect_url(request, active_org)

        return Response({"nextUri": next_uri})
コード例 #2
0
ファイル: auth_config.py プロジェクト: yndxz/sentry
    def respond_authenticated(self, request):
        next_uri = self.get_next_uri(request)

        if not auth.is_valid_redirect(next_uri, host=request.get_host()):
            next_uri = self.org_redirect_url(request)

        return Response({
            'nextUri': next_uri,
        })
コード例 #3
0
ファイル: auth_login.py プロジェクト: tanlovetanh/sentry
    def handle(self, request):
        next_uri = request.GET.get(REDIRECT_FIELD_NAME, None)
        if request.user.is_authenticated():
            if auth.is_valid_redirect(next_uri, host=request.get_host()):
                return self.redirect(next_uri)
            return self.redirect_to_org(request)

        request.session.set_test_cookie()

        if next_uri:
            auth.initiate_login(request, next_uri)

        # Single org mode -- send them to the org-specific handler
        if settings.SENTRY_SINGLE_ORGANIZATION:
            org = Organization.get_default()
            next_uri = reverse('sentry-auth-organization', args=[org.slug])
            return HttpResponseRedirect(next_uri)

        op = request.POST.get('op')
        if op == 'sso' and request.POST.get('organization'):
            auth_provider = self.get_auth_provider(
                request.POST['organization'])
            if auth_provider:
                next_uri = reverse('sentry-auth-organization',
                                   args=[request.POST['organization']])
            else:
                next_uri = request.path
                messages.add_message(request, messages.ERROR, ERR_NO_SSO)

            return HttpResponseRedirect(next_uri)

        session_expired = 'session_expired' in request.COOKIES
        if session_expired:
            messages.add_message(request, messages.WARNING,
                                 WARN_SESSION_EXPIRED)

        response = self.handle_basic_auth(request)

        if session_expired:
            response.delete_cookie('session_expired')

        return response
コード例 #4
0
ファイル: auth_login.py プロジェクト: ifduyue/sentry
    def handle(self, request):
        next_uri = request.GET.get('next', None)
        if request.user.is_authenticated():
            if auth.is_valid_redirect(next_uri):
                return self.redirect(next_uri)
            return self.redirect_to_org(request)

        request.session.set_test_cookie()

        if next_uri:
            auth.initiate_login(request, next_uri)

        # Single org mode -- send them to the org-specific handler
        if settings.SENTRY_SINGLE_ORGANIZATION:
            org = Organization.get_default()
            next_uri = reverse('sentry-auth-organization',
                               args=[org.slug])
            return HttpResponseRedirect(next_uri)

        op = request.POST.get('op')
        if op == 'sso' and request.POST.get('organization'):
            auth_provider = self.get_auth_provider(request.POST['organization'])
            if auth_provider:
                next_uri = reverse('sentry-auth-organization',
                                   args=[request.POST['organization']])
            else:
                next_uri = request.path
                messages.add_message(request, messages.ERROR, ERR_NO_SSO)

            return HttpResponseRedirect(next_uri)

        session_expired = 'session_expired' in request.COOKIES
        if session_expired:
            messages.add_message(request, messages.WARNING, WARN_SESSION_EXPIRED)

        response = self.handle_basic_auth(request)

        if session_expired:
            response.delete_cookie('session_expired')

        return response
コード例 #5
0
ファイル: auth_login.py プロジェクト: zhouyu0615/sentry
 def handle_authenticated(self, request):
     next_uri = self.get_next_uri(request)
     if auth.is_valid_redirect(next_uri, host=request.get_host()):
         return self.redirect(next_uri)
     return self.redirect_to_org(request)
コード例 #6
0
ファイル: auth_login.py プロジェクト: waterdrops/sentry
 def handle_authenticated(self, request):
     next_uri = self.get_next_uri(request)
     if is_valid_redirect(next_uri, allowed_hosts=(request.get_host(), )):
         return self.redirect(next_uri)
     return self.redirect_to_org(request)
コード例 #7
0
ファイル: auth_login.py プロジェクト: hosmelq/sentry
 def handle_authenticated(self, request, *args, **kwargs):
     next_uri = self.get_next_uri(request, *args, **kwargs)
     if auth.is_valid_redirect(next_uri, host=request.get_host()):
         return self.redirect(next_uri)
     return self.redirect_to_org(request)