Пример #1
0
def authenticate_user(*args, **kwargs):
    request = args[1]
    try:
        oauth_request = get_oauth_request(request)
        consumer = store.get_consumer(request, oauth_request,
                                      oauth_request['oauth_consumer_key'])
        verify_oauth_request(request, oauth_request, consumer)

        # Allow a trusted client to either give us a user via header, or do the
        # 3-legged oauth
        user = None
        try:
            trusted_client = TrustedOAuthClient.objects.get(consumer=consumer)
            if trusted_client and trusted_client.is_trusted:
                user = request.META["HTTP_X_OAUTH_USER"]
        except Exception as e:
            pass

        if not user:
            access_token = store.get_access_token(
                request, oauth_request, consumer,
                oauth_request[u'oauth_token'])
            user = store.get_user_for_access_token(request, oauth_request,
                                                   access_token).username

        request.META['SS_OAUTH_CONSUMER_NAME'] = consumer.name
        request.META['SS_OAUTH_CONSUMER_PK'] = consumer.pk
        request.META['SS_OAUTH_USER'] = user

        return
    except Exception as e:
        response = HttpResponse("Error authorizing user: %s" % e)
        response.status_code = 401
        return response
Пример #2
0
def authenticate_user(*args, **kwargs):
    request = args[1]
    try:
        oauth_request = get_oauth_request(request)
        consumer = store.get_consumer(request, oauth_request,
                                      oauth_request['oauth_consumer_key'])
        verify_oauth_request(request, oauth_request, consumer)

        # Allow a trusted client to either give us a user via header, or do the
        # 3-legged oauth
        user = None
        try:
            trusted_client = TrustedOAuthClient.objects.get(consumer=consumer)
            if trusted_client and trusted_client.is_trusted:
                user = request.META["HTTP_XOAUTH_USER"]
        except Exception as e:
            pass


        if not user:
            access_token = store.get_access_token(request, oauth_request, consumer, oauth_request[u'oauth_token'])
            user = store.get_user_for_access_token(request, oauth_request, access_token).username


        request.META['SS_OAUTH_CONSUMER_NAME'] = consumer.name
        request.META['SS_OAUTH_CONSUMER_PK'] = consumer.pk
        request.META['SS_OAUTH_USER'] = user

        return
    except Exception as e:
        response = HttpResponse("Error authorizing application")
        response.status_code = 401
        return response
Пример #3
0
 def _wrapper(*args, **kwargs):
     request = args[0]
     try:
         oauth_request = get_oauth_request(request)
         consumer = store.get_consumer(request, oauth_request,
                                       oauth_request['oauth_consumer_key'])
         verify_oauth_request(request, oauth_request, consumer)
         request.META['OAUTH_CONSUMER_NAME'] = consumer.name
         request.META['OAUTH_CONSUMER_PK'] = consumer.pk
         return func(*args, **kwargs)
     except Exception as e:
         print "Error: ", e
         response = HttpResponse("Error authorizing application")
         response.status_code = 401
     return response
Пример #4
0
def authenticate_application(*args, **kwargs):
    request = args[1]
    try:
        oauth_request = get_oauth_request(request)
        consumer = store.get_consumer(request, oauth_request,
                                      oauth_request['oauth_consumer_key'])
        verify_oauth_request(request, oauth_request, consumer)

        request.META['SS_OAUTH_CONSUMER_NAME'] = consumer.name
        request.META['SS_OAUTH_CONSUMER_PK'] = consumer.pk

        return
    except Exception as e:
        response = HttpResponse("Error authorizing application: %s" % e)
        response.status_code = 401
        return response
Пример #5
0
def authenticate_application(*args, **kwargs):
    request = args[1]
    try:
        oauth_request = get_oauth_request(request)
        consumer = store.get_consumer(request, oauth_request,
                                      oauth_request['oauth_consumer_key'])
        verify_oauth_request(request, oauth_request, consumer)

        request.META['SS_OAUTH_CONSUMER_NAME'] = consumer.name
        request.META['SS_OAUTH_CONSUMER_PK'] = consumer.pk

        return
    except Exception as e:
        response = HttpResponse("Error authorizing application: %s" % e)
        response.status_code = 401
        return response
Пример #6
0
    def is_authenticated(self, request, **kwargs):
        if is_valid_request(request, ['oauth_consumer_key']):
            # Just checking if you're allowed to be there
            oauth_request = get_oauth_request(request)
            try:
                consumer = store.get_consumer(
                    request, oauth_request,
                    oauth_request.get_parameter('oauth_consumer_key'))

                try:
                    if oauth_request.get_parameter('oauth_token'):
                        try:
                            token = store.get_access_token(
                                request, oauth_request, consumer,
                                oauth_request.get_parameter('oauth_token'))

                            if not verify_oauth_request(
                                    request, oauth_request, consumer,
                                    token=token):
                                return False

                            if consumer and token:
                                request.user = token.user

                        except InvalidTokenError:
                            return False
                except:
                    pass

                return True

            except InvalidConsumerError:
                return False
        return False
Пример #7
0
 def wrapper(request, *args, **kwargs):
     try:
         oauth_request = get_oauth_request(request)
         if (oauth_request is None):
             raise ValueError('No Oauth Request')
         consumer = store.get_consumer(
             request, oauth_request, oauth_request['oauth_consumer_key'])
         verify_oauth_request(request, oauth_request, consumer)
         request.META['OAUTH_CONSUMER_NAME'] = consumer.name
         request.META['OAUTH_CONSUMER_PK'] = consumer.pk
         return func(request, *args, **kwargs)
     except ValueError as e:
         if is_member_of_group(request, settings.NAGIOS_ADMIN_GROUP):
             return func(request, *args, **kwargs)
         return HttpResponse("Access Denied", status_code=401)
     except (InvalidConsumerError, InvalidTokenError) as e:
         return HttpResponse("Access Denied", status_code=401)