OAuth2 support for REST services

Provide a way to allow a user to obtain an identity token from an identity provider so that the token could then be used to authenticate the user when interacting with a REST API. This would be an alternative to strictly using an API key, which under many cases is less secure.