Added generic oauth login function