public async Task <IActionResult> ChangePassword([FromBody] NewPasswordModelRequest modelRequest) { var(_, isFailure, value, error) = await _authenticationService.ChangePassword(modelRequest); if (isFailure) { return(BadRequest(error)); } return(Ok(new{ value })); }
public async Task ChangePassword() { NewPasswordModelRequest newPasswordModel = new NewPasswordModelRequest { NewPassword = "******" }; var response = await HttpClient.PutAsJsonAsync($"api/v1/auth/change-password", newPasswordModel); response.IsSuccessStatusCode.Should().BeTrue(); }
public async Task <Result <string, Error> > ChangePassword(NewPasswordModelRequest newPasswordModelRequest) { var id = Guid.Parse(_accessor.HttpContext.User.Claims.First(c => c.Type == "userId").Value); var user = await _userRepository.GetById(id); var samePassword = _passwordHasher.Check(user.PasswordHash, newPasswordModelRequest.NewPassword); if (samePassword) { return(Result.Failure <string, Error>(ErrorsList.SamePassword)); } user.UpdatePassword(_passwordHasher.CreateHash(newPasswordModelRequest.NewPassword)); _userRepository.Update(user); await _userRepository.SaveChanges(); return(Result.Success <string, Error>("Password changed!")); }
public static NewPasswordModelRequest WithNewPassword(this NewPasswordModelRequest modelRequest, string newPassword) { modelRequest.NewPassword = newPassword; return(modelRequest); }