          return self._not_authenticated()
  
      def _not_authenticated(self):
          """
          Return a two-tuple of (user, authtoken), representing an
          unauthenticated request.
  
          By default this will be (AnonymousUser, None).
          """
          if api_settings.UNAUTHENTICATED_USER:
              user = api_settings.UNAUTHENTICATED_USER()
 
</s> remove         By default this will be (AnonymousUser, None).
 </s> add         By default this will be (None, AnonymousUser, None). </s> remove                 return user_auth_tuple
 </s> add                 user, auth = user_auth_tuple
                return (authenticator, user, auth) </s> remove             self._user, self._auth = self._authenticate()
 </s> add             self._authenticator, self._user, self._auth = self._authenticate() </s> remove         Attempt to authenticate the request using each authentication instance in turn.
        Returns a two-tuple of (user, authtoken).
 </s> add         Attempt to authenticate the request using each authentication instance
        in turn.
        Returns a three-tuple of (authenticator, user, authtoken).
        Return a three-tuple of (authenticator, user, authtoken), representing
        an unauthenticated request.
          return self._not_authenticated()
  
      def _not_authenticated(self):
          """
        Return a three-tuple of (authenticator, user, authtoken), representing
        an unauthenticated request.
        Return a three-tuple of (authenticator, user, authtoken), representing
        an unauthenticated request.
  
          By default this will be (AnonymousUser, None).
          """
          if api_settings.UNAUTHENTICATED_USER:
              user = api_settings.UNAUTHENTICATED_USER()
keep keep keep keep replace replace keep keep keep keep keep
 Implementing 401 vs 403 responses 
rest_framework/request.py