public ActionResult ResetPassword(int id, ResetPasswordUser form) { var user = db.Users.Find(id); if (user == null) { return(HttpNotFound()); } form.Username = user.Username; if (db.Users.Any(u => u.Username == form.Username && u.UserID != id)) { ModelState.AddModelError("Username", "Username must be unique"); } if (!ModelState.IsValid) { return(View(form)); } user.SetPassword(form.Password); db.Users.AddOrUpdate(user); db.SaveChanges(); return(RedirectToAction("index")); }
public async Task <IActionResult> SetNewPassword([FromBody] ResetPasswordUser resetPasswordUser) { var user = await _userManager.FindByEmailAsync(resetPasswordUser.Email); if (user == null) { return(BadRequest()); } var result = await _userManager.ResetPasswordAsync(user, resetPasswordUser.Code, resetPasswordUser.Password); if (result.Succeeded) { return(new OkObjectResult("Password successfully reset.")); } return(BadRequest()); }
public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordUser ResetUser) { if (ModelState.IsValid) { var user = await userManager.FindByEmailAsync(ResetUser.Email); if (user != null) { var result = await userManager.ResetPasswordAsync(user, ResetUser.Token, ResetUser.Password); if (result.Succeeded) { await signInManager.SignInAsync(user, isPersistent : false); return(Redirect("/User")); } } } return(RedirectToAction("index", "home")); }