Feature - Abstracted login 

- adds login with passport for easier addition of new services
- refresh token was also generalized to include any services