Пример #1
0
        public async Task <bool> UpdatePasswordAsync(string Id, UserPasswordUpdateDto request)
        {
            var user = await _userManager.FindByIdAsync(Id);

            if (user == null)
            {
                throw new BusinessException(ExceptionCode.UserDoesNotExist);
            }

            var userHasValidPassword = await _userManager.CheckPasswordAsync(user, request.OldPassword);

            if (!userHasValidPassword)
            {
                throw new BusinessException(ExceptionCode.IncorrectPassword);
            }

            var token = await _userManager.GeneratePasswordResetTokenAsync(user);

            var result = await _userManager.ResetPasswordAsync(user, token, request.NewPassword);

            if (!result.Succeeded)
            {
                return(false);
            }
            return(true);
        }
        public ActionResult UpdatePassword(UserPasswordUpdateDto userPasswordUpdateDto)
        {
            var result = _authService.UpdatePassword(userPasswordUpdateDto, userPasswordUpdateDto.Password);

            if (result.Success)
            {
                return(Ok(result));
            }

            return(BadRequest(result.Message));
        }
Пример #3
0
        public async Task <ActionResult> Patch(string id, [FromBody] UserPasswordUpdateDto user)
        {
            var userId = HttpContext.GetUserId();

            if (id != userId)
            {
                return(BadRequest());
            }
            var success = await _userLogic.UpdatePasswordAsync(userId, user);

            if (success)
            {
                return(Ok());
            }
            return(NotFound());
        }
Пример #4
0
        public IDataResult <User> UpdatePassword(UserPasswordUpdateDto userPasswordUpdateDto, string password)
        {
            byte[] passwordHash, passwordSalt;
            HashingHelper.CreatePasswordHash(password, out passwordHash, out passwordSalt);
            var result = _userService.GetByUserId(userPasswordUpdateDto.UserId);
            var user   = new User
            {
                Id           = result.Data.Id,
                Email        = result.Data.Email,
                FirstName    = result.Data.FirstName,
                LastName     = result.Data.LastName,
                PhoneNumber  = result.Data.PhoneNumber,
                PasswordHash = passwordHash,
                PasswordSalt = passwordSalt,
                Status       = true
            };

            if (!HashingHelper.VerifyPasswordHash(userPasswordUpdateDto.currentPassword, result.Data.PasswordHash, result.Data.PasswordSalt))
            {
                return(new ErrorDataResult <User>(Messages.PasswordError));
            }
            _userService.PasswordUpdate(user);
            return(new SuccessDataResult <User>(user, "Şifre güncellendi"));
        }