internal async Task ResetUser(UserResetModel model) { var user = await this.CheckAuthorityAndGetUser(model.Username); foreach (var validator in this.userManager.PasswordValidators) { var result = await validator.ValidateAsync(this.userManager, user, model.Password); if (!result.Succeeded) { throw new PasswordChangeException(result.Errors.First().Description); } } var hash = this.userManager.PasswordHasher.HashPassword(user, model.Password); user.PasswordHash = hash; await this.userManager.UpdateAsync(user); }
public async Task <IActionResult> ResetUser([FromBody] UserResetModel model) { try { await this.service.ResetUser(model); } catch (NotFoundException ex) { return(BadRequest(ex.Message)); } catch (NotAuthorizedException) { return(Unauthorized()); } catch (PasswordChangeException e) { return(BadRequest(e.Message)); } return(Ok()); }