This PR introduces OAuth 2.0 support as a client application integrating against a OAuth provider.
thebaer left a comment
After testing, everything looks good! I committed a few changes I needed: added some helpful logging and fixed some error-passing during the code exchange process.
Last thing: we should update the database table names to be consistent with the current naming scheme. Then we'll get this merged!