use self.fail for Oauth2 failures