Add generic oauth support, rather than just google