当前位置: 首页>>代码示例>>C#>>正文


C# ExternalLoginConfirmationViewModel类代码示例

本文整理汇总了C#中ExternalLoginConfirmationViewModel的典型用法代码示例。如果您正苦于以下问题:C# ExternalLoginConfirmationViewModel类的具体用法?C# ExternalLoginConfirmationViewModel怎么用?C# ExternalLoginConfirmationViewModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ExternalLoginConfirmationViewModel类属于命名空间,在下文中一共展示了ExternalLoginConfirmationViewModel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Obter as informações sobre o usuário do provedor de logon externo
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
                IdentityResult result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);
                        
                        // Para obter mais informações sobre como habilitar a confirmação de conta e a redefinição de senha, visite http://go.microsoft.com/fwlink/?LinkID=320771
                        // Enviar um email com este link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // SendEmail(user.Email, callbackUrl, "Confirmar sua conta", "Confirme sua conta clicando neste link");
                        
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:yanpaulo,项目名称:ipede,代码行数:39,代码来源:AccountController.cs

示例2: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Obtener datos del usuario del proveedor de inicio de sesión externo
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new ApplicationUser() { UserName = model.UserName };
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:SoftwareFactoryUPC,项目名称:ProjectTemplates,代码行数:32,代码来源:AccountController.cs

示例3: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(
            ExternalLoginConfirmationViewModel model,
            string returnUrl)
        {
            if (this.User.Identity.IsAuthenticated)
            {
                return this.RedirectToAction("Index", "Manage");
            }

            if (this.ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await this.AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return this.View("ExternalLoginFailure");
                }
                var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                var result = await this.UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await this.UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await this.SignInManager.SignInAsync(user, false, false);
                        return this.RedirectToLocal(returnUrl);
                    }
                }
                this.AddErrors(result);
            }

            this.ViewBag.ReturnUrl = returnUrl;
            return this.View(model);
        }
开发者ID:ASP-MVC,项目名称:Twitter-Like,代码行数:34,代码来源:AccountController.cs

示例4: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }

                var externalIdentity = HttpContext.GetOwinContext().Authentication.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);
                var emailClaim = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email);
                var email = emailClaim != null ? emailClaim.Value : null;

                var user = new ApplicationUser() { UserName = model.UserName, Email = email };
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        _logger.Info("Created user {0} ({1}).", user.UserName, user.Email);
                        await SignInAsync(user, isPersistent: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:joshedler,项目名称:contactmgr911,代码行数:38,代码来源:AccountController.cs

示例5: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Получение сведений о пользователе от внешнего поставщика входа
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new User() { UserName = model.UserName };
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:Gromila,项目名称:JustPhotoGallery,代码行数:32,代码来源:AccountController+(Gromilich-PC's+conflicted+copy+2013-12-24).cs

示例6: createUserFromFacebookInfo

        private ApplicationUser createUserFromFacebookInfo(ExternalLoginConfirmationViewModel i_Model)
        {
            ApplicationUser userToReturn;
            var externalIdentity = getExternalIdentity();
            var email = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;

            var firstName = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:first_name").Value;
            var lastName = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:last_name").Value;
            string gender = getGender(externalIdentity);
            var userID = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:id").Value;
            var birthDate = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == "urn:facebook:birthdate").Value;
            var imageURL = string.Format(@"https://graph.facebook.com/{0}/picture?type=normal", userID);
            //var emailClaim = externalIdentity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email);
            userToReturn = new ApplicationUser()
            {
                UserName = GenerateUserName(i_Model.Email),
                FirstName = firstName,
                LastName = lastName,
                Email = email,
                Gender = gender,
                ImageUrl = imageURL
            };
            return userToReturn;
        }
开发者ID:hilakuker,项目名称:Interexts,代码行数:24,代码来源:AccountController.cs

示例7: RegisterExternal

        public async Task<IHttpActionResult> RegisterExternal(ExternalLoginConfirmationViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return this.BadRequest(this.ModelState);
            }

            var info = await this.Authentication.GetExternalLoginInfoAsync();
            if (info == null)
            {
                return this.InternalServerError();
            }

            var user = new User() { UserName = model.Username, Email = info.Email };

            IdentityResult result = await this.UserManager.CreateAsync(user);
            if (!result.Succeeded)
            {
                return this.GetErrorResult(result);
            }

            result = await this.UserManager.AddLoginAsync(user.Id, info.Login);
            if (!result.Succeeded)
            {
                return this.GetErrorResult(result);
            }

            return this.Ok();
        }
开发者ID:kidroca,项目名称:project-quiz-mvc,代码行数:29,代码来源:AccountController.cs

示例8: ExternalLoginCallback

 public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
 {
     ExternalLoginInfo loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
     if (loginInfo == null)
     {
         return RedirectToAction("Login");
     }
     ApplicationUser user = await UserManager.FindAsync(loginInfo.Login);
     if (user != null)
     {
         await SignInAsync(user, false);
         return RedirectToLocal(returnUrl);
     }
     ((dynamic)ViewBag).ReturnUrl = returnUrl;
     ((dynamic)ViewBag).LoginProvider = loginInfo.Login.LoginProvider;
     ExternalLoginConfirmationViewModel model = new ExternalLoginConfirmationViewModel
     {
         UserName = loginInfo.DefaultUserName
     };
     return View("ExternalLoginConfirmation", model);
 }
开发者ID:clabanow,项目名称:FutureCodr,代码行数:21,代码来源:AccountController.cs

示例9: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            var errors = ModelState.Values.SelectMany(v => v.Errors);
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager_GetExternalLoginInfoAsync_Workaround();
                ApplicationUser user;
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                string loginProviderLowerCase = info.Login.LoginProvider.ToLower();
                if (loginProviderLowerCase == "facebook")
                {
                    user = createUserFromFacebookInfo(model);
                }
                else
                {
                    user = new ApplicationUser()
                    {
                        UserName = GenerateUserName(model.Email),
                        FirstName = model.FirstName,
                        LastName = model.LastName,
                        Email = model.Email,
                        Gender = model.Gender
                    };
                }
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:hilakuker,项目名称:Interexts,代码行数:49,代码来源:AccountController.cs

示例10: ExternalLoginConfirmation

 public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
 {
     if (User.Identity.IsAuthenticated)
     {
         return RedirectToAction("Manage");
     }
     if (ModelState.IsValid)
     {
         ExternalLoginInfo asyncVariable0 = await AuthenticationManager.GetExternalLoginInfoAsync();
         if (asyncVariable0 == null)
         {
             return View("ExternalLoginFailure");
         }
         ApplicationUser user = new ApplicationUser
         {
             UserName = model.UserName
         };
         IdentityResult result = await UserManager.CreateAsync(user);
         if (result.Succeeded)
         {
             result = await UserManager.AddLoginAsync(user.Id, asyncVariable0.Login);
             if (result.Succeeded)
             {
                 await SignInAsync(user, false);
                 return RedirectToLocal(returnUrl);
             }
         }
         AddErrors(result);
     }
     ((dynamic)ViewBag).ReturnUrl = returnUrl;
     return View(model);
 }
开发者ID:clabanow,项目名称:FutureCodr,代码行数:32,代码来源:AccountController.cs

示例11: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }
            
            if (ModelState.IsValid)
            {
                // Informationen zum Benutzer aus dem externen Anmeldeanbieter abrufen
                IdentityResult result = await IdentityManager.Authentication.CreateAndSignInExternalUserAsync(AuthenticationManager, new User(model.UserName));
                if (result.Success)
                {
                    return RedirectToLocal(returnUrl);
                }
                else
                {
                    AddErrors(result);
                }
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:Banasen,项目名称:InvScan2,代码行数:24,代码来源:AccountController.cs

示例12: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Index", "Manage");
            }

            if (ModelState.IsValid)
            {
                // Получение сведений о пользователе от внешнего поставщика входа
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
                //var user = new ApplicationUser
                //{
                //    UserName = model.Email,
                //    Name = model.Name,
                //    Password = model.Password,
                //    Email = model.Email,
                //    LastVisition = curDate,
                //    RegistrationDate = curDate,
                //    UserInfo = "user",
                //    DateOfBlocking = curDate,
                //    BlockForDate = curDate,
                //    IsBlocked = false,
                //    BlockReason = "",
                //    Balance = 0
                //};
                var result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:GarageInc,项目名称:hepldesk,代码行数:47,代码来源:AccountController.cs

示例13: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }
            
            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                IdentityResult result = await IdentityManager.Authentication.CreateAndSignInExternalUserAsync(AuthenticationManager, new ApplicationUser { UserName = model.UserName });
                if (result.Success)
                {
                    return RedirectToLocal(returnUrl);
                }
                else
                {
                    AddErrors(result);
                }
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:BobbyBorisov,项目名称:ZealotTicketRewardingSystem,代码行数:24,代码来源:AccountController.cs

示例14: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();
                if (info == null)
                {
                    return View("ExternalLoginFailure");
                }
                var user = new TasklyUser() { UserName = model.Email, Email = model.Email };
                IdentityResult result = await UserManager.CreateAsync(user);
                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);

                        //
                        // create the organisation at sign-up
                        //
                        var organisation = new Organisation { Name = model.Organisation, AccountType = OrgAccountType.free };
                        var db = new TasklyDbContext();
                        db.Organisations.Add(organisation);                       
                        db.SaveChanges();
                        db.Dispose();

                        user.UserDisplayName = model.UserDisplayName; 
                        user.OrganisationID = organisation.ID;
                        UserManager.Update(user);

                        DemoSurvey.CreateDemo(organisation.ID);
                        
                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        // SendEmail(user.Email, callbackUrl, "Confirm your account", "Please confirm your account by clicking this link");
                        
                        return RedirectToLocal(returnUrl);
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:Jumoo,项目名称:Taskily,代码行数:54,代码来源:AccountController.cs

示例15: ExternalLoginConfirmation

        public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Manage");
            }
            
            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                try
                {
                    if (await AuthenticationManager.CreateAndSignInExternalUser(HttpContext, model.LoginProvider, new User(model.UserName)))
                    {
                        return RedirectToLocal(returnUrl);
                    }
                    else
                    {
                        return View("ExternalLoginFailure");
                    }
                }
                catch (IdentityException e)
                {
                    ModelState.AddModelError("", e.Message);
                }
            }

            ViewBag.ReturnUrl = returnUrl;
            return View(model);
        }
开发者ID:KuduApps,项目名称:PreviewMvc5,代码行数:30,代码来源:AccountController.cs


注:本文中的ExternalLoginConfirmationViewModel类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。