public async Task <PasswordChangedByAdminResponseDto> ChangePasswordByAdmin(ChangePasswordRequestDto request) { // Find user by email var user = await userManager.FindByIdAsync(request.Id); // Validate the new password var passwordValidator = new PasswordValidator <ApplicationUser>(); var passValidatorResult = await passwordValidator.ValidateAsync(userManager, user, request.NewPassword); if (!passValidatorResult.Succeeded) { return(new PasswordChangedByAdminResponseDto(false, 400, localizer["PasswordResetResponseErrMsg"])); } // Change user password var newPassword = userManager.PasswordHasher.HashPassword(user, request.NewPassword); user.PasswordHash = newPassword; user.UpdateDate = DateTime.Now; // Update user var result = await userManager.UpdateAsync(user); if (result.Succeeded) { await messager.SendPasswordChangedByAdminEmail(user.Email, ((DateTime)user.UpdateDate), user.DefaultLang, request.NewPassword); return(new PasswordChangedByAdminResponseDto(true, 200, localizer["PasswordRestResponseSuccessMsg"])); } else { return(new PasswordChangedByAdminResponseDto(false, 400, localizer["PasswordResetResponseErrMsg"])); } }
public async Task <IActionResult> ChangePaswordAsync([FromBody] ChangePasswordRequestDto dto) { var currentUser = await GetCurrentUserAsync(); Logger.LogInformation($"{nameof(ChangePaswordAsync)}, current:{currentUser.ToJson()}, dto: {dto.ToJson()}"); await _userManager.ChangePasswordAsync(await GetCurrentUserAsync(), dto.CurrentPassword, dto.NewPassword); return(Ok()); }
public async Task <IActionResult> ChangePasswordRequest([FromBody] ChangePasswordRequestDto request) { var response = await identityService.ChangePasswordByAdmin(request); if (!response.IsSuccess) { return(BadRequest(response)); } return(Ok(response)); }
public IActionResult ChangePassword([FromBody] ChangePasswordRequestDto changePasswordRequestDto) { _userService.ChangePassword(changePasswordRequestDto.OldPassword, changePasswordRequestDto.NewPassword); return(Ok(new OperationResult() { Success = true, Data = "Пароль успешно изменен", Code = 200 })); }
public async Task <ResponseDto> ChangePassword([FromBody] ChangePasswordRequestDto request) { if (!ModelState.IsValid) { return(new ResultDto <AuthenticateResultModel>(ResponseCode.Validate, "Dữ liệu truyền vào không đúng", null)); } var res = await _authService.UpdatePassword(request); return(res); }
public async Task <ResponseDto> UpdatePassword(ChangePasswordRequestDto request) { var user = await _userManager.FindByIdAsync(request.UserId); if (user == null) { return(new ResponseDto(ResponseCode.LogicError, "Tài khoản không tồn")); } var result = await _userManager.ChangePasswordAsync(user, request.OldPass, request.NewPass); if (result.Succeeded) { return(new ResponseDto(ResponseCode.Success, "Đổi mật khẩu thành công")); } return(new ResponseDto(ResponseCode.LogicError, "Đổi mật khẩu thất bại")); }
public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordRequestDto model) { var user = await _userManager.GetUserAsync(User); if (!user.IsActive || !user.EmailConfirmed) { return(BadRequest()); } var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.NewPassword); if (result.Succeeded) { return(Ok()); } else { return(BadRequest(result.Errors.ToList())); } }
public async Task <BaseResponseDto <ChangePasswordResponseDto> > ChangePassword(ChangePasswordRequestDto changePasswordRequestDto) { try { return(await _userService.ChangePassword(changePasswordRequestDto)); } catch (Exception ex) { _logger.LogError($"Change password error: {ex}"); return(new BaseResponseDto <ChangePasswordResponseDto>() .GenerateGeneralFailedResponse(ex.ToString())); } }
private PageRoutes.ChangePasswordPage CreateChangePasswordPage(ServiceProvider provider, ChangePasswordRequestDto request) { var page = new PageRoutes.ChangePasswordPage(); provider.InjectDependencies(page); page.Request = request; return(page); }
public async Task <BaseResponseDto <ChangePasswordResponseDto> > ChangePassword(ChangePasswordRequestDto changePasswordRequestDto) { if (changePasswordRequestDto == null) { _logger.LogError("changePasswordRequestDto is null"); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.BadRequest)); } if (string.IsNullOrEmpty(changePasswordRequestDto.NewPassword)) { _logger.LogError("NewPassword is null"); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.BadRequest)); } if (changePasswordRequestDto.CurrentPassword == changePasswordRequestDto.NewPassword) { _logger.LogError("NewPassword is the same as current password"); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.SameNewPassword)); } var hashCurrentPassword = changePasswordRequestDto.CurrentPassword.HashMd5(); var userId = _httpContextAccessor.HttpContext.UserId(); var builder = MongoExtension.GetBuilders <User>(); var userRepo = _unitOfWork.GetRepository <User>(); var user = await userRepo.FirstOrDefault(builder.Eq(x => x.Id, userId)); if (user == null) { _logger.LogError("User is null"); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.NotFound)); } if (!user.IsConfirmed) { return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.AccountHasNotBeenConfirmed)); } if (!_httpContextAccessor.HttpContext.IsGoogleLogin() && user.Password != hashCurrentPassword) { _logger.LogError("Incorrect password"); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateFailedResponse(ErrorCodes.IncorrectCurrentPassword)); } var hashNewPassword = changePasswordRequestDto.NewPassword.HashMd5(); user.Password = hashNewPassword; var updateDefinition = new UpdateDefinitionBuilder <User>() .Set(x => x.Password, user.Password); await userRepo.UpdatePartial(user, updateDefinition); var jwtSetting = GetJwtSetting(); return(new BaseResponseDto <ChangePasswordResponseDto>().GenerateSuccessResponse(new ChangePasswordResponseDto { Token = user.GenerateAccessToken(jwtSetting) })); }