Add an abstract OAuthClient