if we get insto the situation we're not authenticated yet (L72) and current authentication method supports login method (L76) which means we can take some action to authenticate, we expect that authenticate! will redirect us to some login page or sets some headers so the browser displays login dialog. That's why we stop current login process and return immediately after authenticate! call.