public async Task <IActionResult> ResetPassword(ResetPasswordViewModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(model.Email); if (user == null) { return(RedirectToAction("ResetPasswordConfirmation")); } var result = await _resetPasswordService.ResetPassword(model); if (result.Succeeded) { return(RedirectToAction("ResetPasswordConfirmation")); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } return(View(model)); }
public async Task <IActionResult> ConfirmResetPassword([FromQuery] ResetPasswordCallbackViewModel viewModel) { if (!ModelState.IsValid) { return(this.ErrorPage()); } return(await resetPasswordService.ResetPassword(viewModel.Email, viewModel.NewPassword, viewModel.Token) ? (IActionResult)RedirectToAction("Login").PushAlert("Password has been changed") : this.ErrorPage()); }
public RedirectResult PasswordReset(ResetPasswordViewModel model) { try { _resetPasswordService.ResetPassword(model); return(_uniquePageService.RedirectTo <LoginPage>()); } catch (Exception ex) { ErrorSignal.FromCurrentContext().Raise(ex); return(_uniquePageService.RedirectTo <LoginPage>()); } }
public async Task <IActionResult> ResetPassword([FromBody] PasswordModel options) { try { await _resetPasswordService.ResetPassword(options.ResetToken, options.Password); return(Ok()); } catch (KeyNotFoundException) { return(BadRequest(new ValidationProblemDetails(new Dictionary <string, string[]>(new List <KeyValuePair <string, string[]> > { new KeyValuePair <string, string[]>("ResetToken", new string[] { "Token is not valid" }) })))); } }
public async Task <ActionResult <ItemResponse <int> > > ResetPassword(ResetPassword model) { int iCode = 200; BaseResponse response = null; int userId = 0; bool isSuccessful = false; try { userId = _authService.GetCurrentUserId(); isSuccessful = _service.ResetPassword(model, userId); if (isSuccessful == true) { try { await _authService.LogOutAsync(); } catch (Exception ex) { iCode = 500; base.Logger.LogError(ex.ToString()); response = new ErrorResponse($"Logout Error: {ex.Message}"); } response = new SuccessResponse(); } else { iCode = 404; response = new ErrorResponse("Resource Not Found"); } } catch (Exception ex1) { iCode = 500; base.Logger.LogError(ex1.ToString()); response = new ErrorResponse($"Server Error: {ex1.Message}"); } return(StatusCode(iCode, response)); }
public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordDto resetPasswordDto, [FromServices] IResetPasswordService service) { var resetPasswordValidator = new ResetPasswordValidator(); var validatorResult = await resetPasswordValidator.ValidateAsync(resetPasswordDto); if (validatorResult.IsValid) { await service.ResetPassword(resetPasswordDto); if (!service.Status.HasErrors) { return(Ok()); } return(BadRequest(service.Status.Errors)); } var validationErrors = validatorResult.Errors.Select(error => new ValidationResult(error.ErrorMessage)) .ToImmutableList(); return(BadRequest(validationErrors)); }