'Attempt to authenticate the request using each authentication instance
in turn.'

def _authenticate(self):

    for authenticator in self.authenticators:
        try:
            user_auth_tuple = authenticator.authenticate(self)
        except exceptions.APIException:
            self._not_authenticated()
            raise
        if (user_auth_tuple is not None):
            self._authenticator = authenticator
            (self.user, self.auth) = user_auth_tuple
            return
    self._not_authenticated()
