BB.UI.Web.MVC.Controllers.AccountController.ExternalLoginCallback C# (CSharp) Method

ExternalLoginCallback() private method

private ExternalLoginCallback ( string returnUrl ) : Task
returnUrl string
return Task
        public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
        {
            var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
            if (loginInfo == null)
            {
                return RedirectToAction("Login");
            }

            // Sign in the user with this external login provider if the user already has a login
            var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
            switch (result)
            {
                case SignInStatus.Success:
                    return RedirectToAction("Portal", "Home");
                case SignInStatus.LockedOut:
                    return View("Lockout");
                default:
                    // If the user does not have an account, then prompt the user to create an account
                    ViewBag.ReturnUrl = returnUrl;
                    ViewBag.NoFooter = true;
                    ViewBag.LoginProvider = loginInfo.Login.LoginProvider;
                    return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { NickName = loginInfo.Email });
            }
        }