initial work for supporting OAuth2 authentication