Exemplo n.º 1
0
        public static Password Create(string plainTextPassword, PasswordValidator validator, IPasswordHasher passwordHasher)
        {
            PasswordValidationResult result = validator.Validate(plainTextPassword);

            if (!result.IsSuccessful)
            {
                throw new PasswordDidNotMeetRequirementsException("Password does not requirements.", result);
            }

            return(new Password(passwordHasher.HashPassword(plainTextPassword)));
        }
Exemplo n.º 2
0
        public PasswordValidationResult Validate(string plainTextPassword)
        {
            if (string.IsNullOrEmpty(plainTextPassword))
            {
                throw new ArgumentException("Password is null or empty.", nameof(plainTextPassword));
            }

            PasswordValidationResult result = new PasswordValidationResult();

            foreach (IPasswordRequirement requirement in _passwordRequirements)
            {
                if (!requirement.IsSatisfiedBy(plainTextPassword))
                {
                    result.AddValidationFailure(requirement.ErrorMessage);
                }
            }

            return(result);
        }