Refactored login code to better handle redirects (#116)