public IActionResult ResetPassword(string code = null) { if (code == null) { throw new ApplicationException("A code must be supplied for password reset."); } var model = new ViewModel.ResetPasswordViewModel { Code = code }; return(View(model)); }
public async Task <IActionResult> ResetPassword(ViewModel.ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _accountRepository.FindByEmail(model.Email); if (user == null) { // Don't reveal that the user does not exist return(RedirectToAction(nameof(ResetPasswordConfirmation))); } var result = await _accountRepository.ResetPassword(user, model.Code, model.Password); if (result.Succeeded) { return(RedirectToAction(nameof(ResetPasswordConfirmation))); } AddErrors(result); return(View()); }