public async Task <ApiResult <bool> > ChangePassword(Guid id, UserUpdatePasswordRequest request) { var user = await _userManager.FindByIdAsync(id.ToString()); if (user == null) { return(new ApiErrorResult <bool>("User không tồn tại")); } var checkPassword = _userManager.PasswordHasher.VerifyHashedPassword(user, user.PasswordHash, request.OldPassword); if (checkPassword != PasswordVerificationResult.Success) { return(new ApiErrorResult <bool>("Invalid login attempt.")); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, request.NewPassword); if (result.Succeeded) { return(new ApiSuccessResult <bool>()); } return(new ApiErrorResult <bool>("Cập nhật mật khẩu không thành công")); }
public void Execute(int request, UserUpdatePasswordRequest pass) { var user = AiContext.Users.Find(request); if (user == null || user.IsDeleted == 1) { throw new EntityNotFoundException("User"); } user.Password = pass.Password; user.ModifiedAt = DateTime.Now; AiContext.SaveChanges(); }
public void Update(UserUpdatePasswordRequest model) { string hashedPassword = HashPassword(model.Password); _dataProvider.ExecuteNonQuery( "dbo.Users_UpdatePassword", inputParamMapper : delegate(SqlParameterCollection paramCol) { paramCol.AddWithValue("@Id", model.Id); paramCol.AddWithValue("@PasswordHash", hashedPassword); } ); }
public ActionResult <SuccessResponse> ResetPassword(int id, UserUpdatePasswordRequest model) { int iCode = 200; BaseResponse response = null; try { int userId = _service.GetUserIdByToken(model.Token); if (userId > 0) { bool successful = _service.VerifyTokenResetPassword(model.Token, model.Password); if (successful) { response = new SuccessResponse(); } else { iCode = 404; response = new ErrorResponse("Could not locate UserId with this token"); } } else { IUserAuthData currentUser = _authService.GetCurrentUser(); if (currentUser != null) { id = currentUser.Id; _service.UpdatePassword(id, model.Password, model.ConfirmPassword); response = new SuccessResponse(); } else { iCode = 404; response = new ErrorResponse("Could not locate UserId"); } } } catch (Exception ex) { iCode = 500; base.Logger.LogError(ex.ToString()); response = new ErrorResponse($"Generic Error: ${ ex.Message }"); } return(StatusCode(iCode, response)); }
public ActionResult <SuccessResponse> Update(UserUpdatePasswordRequest model) { try { _userService.Update(model); SuccessResponse response = new SuccessResponse(); return(Ok200(response)); } catch (Exception ex) { Logger.LogError(ex.ToString()); return(StatusCode(500, new ErrorResponse(ex.Message))); } }
public async Task <IActionResult> ChangePassword(Guid id, [FromBody] UserUpdatePasswordRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _userService.ChangePassword(id, request); if (!result.IsSuccess) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <IActionResult> ChangePassword(Guid id) { var result = await _userApiClient.GetById(id); if (!result.IsSuccess) { return(RedirectToAction("Error", "Home")); } var user = result.ResultDataObject; var updatePasswordRequest = new UserUpdatePasswordRequest() { Id = id, UserName = user.UserName }; return(View(updatePasswordRequest)); }
public async Task <IActionResult> UpdatePassword([FromRoute] int id, [FromBody] UserUpdatePasswordRequest request) { var updatedUser = await db.Users.FirstOrDefaultAsync(x => x.Id == id); if (updatedUser == null) { return(NotFound()); } if (!authService.IsAuthUser(updatedUser) && !authService.AuthUserInRole(Roles.AdminRoleName)) { return(Forbid()); } updatedUser.PasswordHash = passwordService.SaltHash(request.NewPassword); updatedUser.Updated = DateTime.UtcNow; await db.SaveChangesAsync(); return(Ok()); }
public async Task <ApiResult <bool> > ChangePassword(Guid id, UserUpdatePasswordRequest request) { return(await PutAsync <ApiResult <bool> >($"/api/users/change-password/{id}", request)); }
public async Task <IActionResult> ChangePassword(UserUpdatePasswordRequest request) { var result = await _userApiClient.ChangePassword(request.Id, request); return(!result.IsSuccess ? RedirectToAction("Error", "Home") : RedirectToAction("Index", "Login")); }