public async Task <ActionResult> ResetPassword(ResetPasswordInputViewModel reset) { if (!this.ModelState.IsValid) { return(this.BadRequest("Ooopppsss! Something wrong!")); } var user = await this.userManager.FindByEmailAsync(reset.Email); if (user == null) { // Don't reveal that the user does not exist return(this.RedirectToPage("./ResetPasswordConfirmation")); } var result = await this.userManager.ResetPasswordAsync(user, reset.Code, reset.Password); if (result.Succeeded) { return(this.RedirectToPage("./ResetPasswordConfirmation")); } foreach (var error in result.Errors) { this.ModelState.AddModelError(string.Empty, error.Description); } return(this.Ok()); }
public async Task <ActionResult> ResetPassword(ResetPasswordInputViewModel resetPassword) { var user = await this._userManager.FindByEmailAsync(resetPassword.Email); if (user != null && user.UserName == resetPassword.Username && this.ModelState.IsValid) { var token = await this._userManager.GeneratePasswordResetTokenAsync(user); var result = await this._userManager.ResetPasswordAsync(user, token, resetPassword.NewPassword); if (!result.Succeeded) { return(this.BadRequest(new { Message = "Reset Password failed!", resetPassword })); } return(this.Ok(new { Message = "Reset Password successful!" })); } return(this.BadRequest(new { Message = "Reset Password failed!", resetPassword })); }