code: def oauth_scope(*scope_names):
    
    authenticator = AccessTokenAuthenticator(required_scope_names=scope_names)
  
    def scope_decorator(view_func):
      @wraps(view_func)
      def wrapper(request, *args, **kwargs):
        access_token, error_response_arguments = authenticator.validate(request)
  
        if not access_token:
          return authenticator.make_error_response(*error_response_arguments)
  
        return view_func(access_token, request, *args, **kwargs)
  
      return wrapper
  
    return scope_decorator
docs: Return a decorator that restricts requests to those authorized with
    a certain scope or scopes.
  
  
    For example, to restrict access to a given endpoint like this:
  
    .. code-block:: python
  
        @require_login
        def secret_attribute_endpoint(request, *args, **kwargs):
          user = request.user
          return HttpResponse(json.dumps({
              'super_secret_attribute' : user.super_secret_attribute
            })
  
    ...just add the decorator and an additional argument to the function's
    signature:
  
    .. code-block:: python
  
        @oauth_scope('foo', 'bar')
        def secret_attribute_endpoint(access_token, request, *args, **kwargs):
          # Because of the decorator, the function is guaranteed to only be run
          # if the request includes proper access to the 'foo' and 'bar'
          # scopes.
          user = access_token.user
          return HttpResponse(json.dumps({
              'super_secret_attribute' : user.super_secret_attribute
            })
  
    The first argument to the wrapped endpoint will now be an
    :py:class:`djoauth2.models.AccessToken` object. The second argument will be
    the original Django ``HttpRequest``, and all other parameters included in the
    requests (due to URL-matching or any other method) will follow.
  
    We **strongly recommend** that you use this decorator to protect your API
    endpoints instead of manually instantiating a
    djoauth2.access_token.AccessTokenAuthenticator object.