oauth work

This fork now contains a complete implementation of the oauth work; I've added some code to kick off oauth authentication however some further changes need to be made to make the workflows async. which needs some input from you.