public async Task <bool> UpdatePasswordAsync(string Id, UserPasswordUpdateDto request) { var user = await _userManager.FindByIdAsync(Id); if (user == null) { throw new BusinessException(ExceptionCode.UserDoesNotExist); } var userHasValidPassword = await _userManager.CheckPasswordAsync(user, request.OldPassword); if (!userHasValidPassword) { throw new BusinessException(ExceptionCode.IncorrectPassword); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, request.NewPassword); if (!result.Succeeded) { return(false); } return(true); }
public ActionResult UpdatePassword(UserPasswordUpdateDto userPasswordUpdateDto) { var result = _authService.UpdatePassword(userPasswordUpdateDto, userPasswordUpdateDto.Password); if (result.Success) { return(Ok(result)); } return(BadRequest(result.Message)); }
public async Task <ActionResult> Patch(string id, [FromBody] UserPasswordUpdateDto user) { var userId = HttpContext.GetUserId(); if (id != userId) { return(BadRequest()); } var success = await _userLogic.UpdatePasswordAsync(userId, user); if (success) { return(Ok()); } return(NotFound()); }
public IDataResult <User> UpdatePassword(UserPasswordUpdateDto userPasswordUpdateDto, string password) { byte[] passwordHash, passwordSalt; HashingHelper.CreatePasswordHash(password, out passwordHash, out passwordSalt); var result = _userService.GetByUserId(userPasswordUpdateDto.UserId); var user = new User { Id = result.Data.Id, Email = result.Data.Email, FirstName = result.Data.FirstName, LastName = result.Data.LastName, PhoneNumber = result.Data.PhoneNumber, PasswordHash = passwordHash, PasswordSalt = passwordSalt, Status = true }; if (!HashingHelper.VerifyPasswordHash(userPasswordUpdateDto.currentPassword, result.Data.PasswordHash, result.Data.PasswordSalt)) { return(new ErrorDataResult <User>(Messages.PasswordError)); } _userService.PasswordUpdate(user); return(new SuccessDataResult <User>(user, "Şifre güncellendi")); }