// Use this for a Password RESET - needs the ResetPassword View that is INSIDE of the Shared Layout // GET: /Account/CustomResetPassword public async Task <ActionResult> CustomPasswordResetAsync() { var userId = User.Identity.GetUserId(); var user = UserManager.FindById(userId); var vm = new CustomResetPasswordViewModel { Code = await UserManager.GeneratePasswordResetTokenAsync(userId), Email = user.Email }; return(View("CustomResetPassword", vm)); }
public async Task <ActionResult> CustomResetPassword(CustomResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } string id = User.Identity.GetUserId(); var user = UserManager.FindById(id); if (!UserManager.CheckPassword(user, model.OldPassword)) { ModelState.AddModelError("Password", "Old Password is incorrect"); return(View(model)); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.NewPassword); if (result.Succeeded) { return(RedirectToAction("CustomResetPasswordConfirmation", "Account")); } AddErrors(result); return(View()); }
public async Task <ActionResult> CustomResetPassword(CustomResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } string id = User.Identity.GetUserId(); var user = UserManager.FindById(id); if (!UserManager.CheckPassword(user, model.OldPassword)) { ModelState.AddModelError("Password", "Old Password is incorrect"); return(View(model)); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.NewPassword); if (result.Succeeded) { TempData["Message"] = "Your password has been reset. Please make sure you remember what your new password is - you will need it next time you sign on."; return(RedirectToAction("Lobby", "Home")); } AddErrors(result); return(View()); }