Added OAuth2

Refactored, added OAuth2, merged into one file to get rid of the circle imports.