示例#1
0
        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));
        }
示例#2
0
 public async Task <ResultDto> EndChangePassword([FromBody, MyValidation] EndChangePasswordEmailDto entity, [BindNever] string uuid)
 {
     return(ResultDto.Create(await _registrationService.EndChangePasswordEmail(entity, uuid)));
 }