Refactor oauth login methods to reduce duplication  (DRYing it up!)