added the ability to override the auth.login function