Exemplo n.º 1
0
        public IResult ChangePassword(string userName, UserForChangePasswordDto userForChangePasswordDto)
        {
            var  identityUser  = FindIdentityUserByUserName(userName);
            bool checkPassword = _userManager.CheckPasswordAsync(identityUser, userForChangePasswordDto.PasswordOld).Result;

            if (!checkPassword)
            {
                return(new ErrorResult("Password is not correct"));
            }
            var result = _userManager.ChangePasswordAsync(identityUser, userForChangePasswordDto.PasswordOld, userForChangePasswordDto.PasswordNew).Result;

            if (result.Succeeded)
            {
                _userManager.UpdateSecurityStampAsync(identityUser).Wait();
                _signInManager.SignOutAsync().Wait();
                _signInManager.PasswordSignInAsync(identityUser, userForChangePasswordDto.PasswordNew, true, false).Wait();

                return(new SuccessResult());
            }

            return(new ErrorResult(result.Errors.FirstOrDefault().Description));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ChangePassword(int userId, UserForChangePasswordDto userForChangePasswordDto)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }
            try
            {
                var response = await _authRepo.ChangePassword(userForChangePasswordDto);

                if (response != "")
                {
                    return(BadRequest(response));
                }

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest("update_failed"));
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> ChangePassword(int id, UserForChangePasswordDto userForChangePassword)
        {
            var userFromRepo = await _repo.GetUser(id);

            byte[] passwordHash, passwordSalt;

            _repo.CreatePasswordHash(userForChangePassword.Password, out passwordHash, out passwordSalt);

            userForChangePassword.PasswordHash           = passwordHash;
            userForChangePassword.PasswordSalt           = passwordSalt;
            userForChangePassword.HasPasswordEverChanged = true;


            /* User to update in DB*/

            _mapper.Map(userForChangePassword, userFromRepo);

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            throw new Exception($"Updating user {id} failed on save");
        }
Exemplo n.º 4
0
        public async Task <ActionResult> ChangePassword(UserForChangePasswordDto userForChangePasswordDto, int userId)
        {
            await publicService.ChangePassword(userForChangePasswordDto, userId);

            return(Ok());
        }