public async Task <IActionResult> Patch([FromBody] AccountPasswordPatchModel model) { var user = await UserManager.FindByEmailAsync(User.Identity.Name); var result = await UserManager.ChangePasswordAsync(user, model.CurrentPassword, model.Password); if (result.Succeeded) { return(NoContent()); } if (result.Errors.FirstOrDefault(x => x.Code == ErrorDescriber.PasswordMismatch().Code) != null) { return(BadRequest(new ApiErrorResult <ApiError>(new ApiError(ApiErrorCodes.BadArgument, "当前密码验证失败。")))); } throw new NotImplementedException(); }
public async Task <IActionResult> Patch([FromRoute] string id, [FromBody] AccountPasswordPatchModel model) { var user = await _userManager.FindByEmailAsync(User.Identity.Name); var result = await _userManager.ChangePasswordAsync(user, model.CurrentPassword, model.Password); if (result.Succeeded) { return(NoContent()); } if (result.Errors.FirstOrDefault(x => x.Code == _errorDescriber.PasswordMismatch().Code) != null) { return(BadRequest(new ApiErrorResult <ApiError>(new ApiError(ApiErrorCodes.BadArgument, "当前密码验证失败。")))); } var ex = new MyApplicationException(); ex.SetIdentityErrors(result.Errors); throw ex; }