public ResetPasswordStepTwoResult Handle(ResetPasswordStepTwoRequest resetPasswordStepTwoRequest)
        {
            ValidateResetPasswordTokenHandler validateResetPasswordTokenHandler = new ValidateResetPasswordTokenHandler(_bodyFitTrackerContext);
            ResetPasswordValidationResult     validationResult = validateResetPasswordTokenHandler.Handle(resetPasswordStepTwoRequest.ResetPasswordToken);

            if (!validationResult.Succeeded)
            {
                return(new ResetPasswordStepTwoResult(false, validationResult.ErrorMessage));
            }

            PasswordReset passwordReset = _bodyFitTrackerContext.PasswordResets
                                          .Where(x => x.Token == resetPasswordStepTwoRequest.ResetPasswordToken).First();
            AppUser appUser = passwordReset.AppUser;

            (string hashedPassword, string salt) = _passwordHasher.GeneratePassword(resetPasswordStepTwoRequest.NewPassword);

            appUser.HashedPassword = hashedPassword;
            appUser.Salt           = salt;

            _bodyFitTrackerContext.PasswordResets.Remove(passwordReset);
            _bodyFitTrackerContext.SaveChanges();

            return(new ResetPasswordStepTwoResult(true));
        }
Esempio n. 2
0
        public void ValidationShouldPassIfTokenIsFoundAndNotExipred()
        {
            ResetPasswordValidationResult result = _validateResetPasswordTokenHandler.Handle(_unexpiredToken);

            Assert.IsTrue(result.Succeeded);
        }
Esempio n. 3
0
        public void ValidationShouldFailIfTokenIsExipred()
        {
            ResetPasswordValidationResult result = _validateResetPasswordTokenHandler.Handle(_expiredToken);

            Assert.IsFalse(result.Succeeded);
        }
Esempio n. 4
0
        public void ValidationShouldFailIfTokenIsNotFound()
        {
            ResetPasswordValidationResult result = _validateResetPasswordTokenHandler.Handle("random");

            Assert.IsFalse(result.Succeeded);
        }