@GitHubIsBetter's authentication implementation. Still missing forgot password, will come in future update.