public async Task <LoggedDto> EndChangePasswordEmail(EndChangePasswordEmailDto entity, string uuid) { var token = ValidateRegistrationToken(entity.changePasswordToken); var user = await _userService.GetByEmailAsync(token.Claims.First(x => x.Type == "email").Value); if (user == null) { throw new ClientException("r-email-no-reg"); } if (user.PasswordHash != token.Claims.First(x => x.Type == "oldPassword").Value) { throw new ClientException("r-ch-pass-token-inc"); } await _userService.SetPasswordAsync(user, entity.Password); return(await _loginService.Login(_userService.GetAll(user.Id), uuid)); }
public async Task <ResultDto> EndChangePassword([FromBody, MyValidation] EndChangePasswordEmailDto entity, [BindNever] string uuid) { return(ResultDto.Create(await _registrationService.EndChangePasswordEmail(entity, uuid))); }