コード例 #1
0
        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();
        }
コード例 #2
0
        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;
        }