App.Web.Controllers.AccountController.ExternalLoginConfirmation C# (CSharp) Method

ExternalLoginConfirmation() private method

private ExternalLoginConfirmation ( RegisterExternalLoginModel model, string returnUrl ) : System.Web.Mvc.ActionResult
model RegisterExternalLoginModel
returnUrl string
return System.Web.Mvc.ActionResult
        public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl)
        {
            string[] loginData;

            if (User.Identity.IsAuthenticated || (loginData = CryptoUtility.TryDeserialize("oauth", model.ExternalLoginData)) == null)
            {
                return this.RedirectToAction("Manage");
            }

            string provider = loginData[0];
            string providerUserId = loginData[1];
            string providerUserName = loginData[2];

            App.Data.User user;

            if (ModelState.IsValid && (user = this.membership.CreateUser(
                        userName: model.UserName,
                        email: model.Email,
                        password: null,
                        displayName: model.UserName,
                        providerName: provider,
                        providerUserID: providerUserId,
                        providerUserName: providerUserName)) != null)
            {
                this.formsAuthentication.SetAuthCookie(user.UserName, createPersistentCookie: false);
                return this.RedirectToLocal(returnUrl);
            }

            ViewBag.ProviderDisplayName = OpenAuth.GetProviderDisplayName(provider);
            ViewBag.ReturnUrl = returnUrl;
            return this.View(model);
        }