code: def _apply_auth(self, view_func):
          
          @functools.wraps(view_func)
          def decorated(*args, **kwargs):
              if not self.auth:
                  return view_func(*args, **kwargs)
  
              auth_data = self.auth.get_authorization()
  
              if auth_data is None:
                  return self._handle_authentication_error()
  
              if not self._authentication_callback or not self._authentication_callback(auth_data):
                  return self._handle_authentication_error()
  
              return view_func(*args, **kwargs)
  
          return decorated
docs: Apply decorator to authenticate the user who is making the request.
          :param view_func: The flask view func.