public void Create(string email, string userName, string password)
        {
            if (string.IsNullOrEmpty(email))
            {
                throw new ArgumentNullException(nameof(email));
            }
            if (string.IsNullOrEmpty(userName))
            {
                throw new ArgumentNullException(nameof(userName));
            }

            var salt           = CreateSalt();
            var hashedPassword = Hash(password ?? string.Empty, salt);

            var entry = new AuthAccountEntry
            {
                Email    = email,
                Username = userName,
                Password = hashedPassword,
                Salt     = salt
            };

            _dbContext.AuthAccountEntries.Add(entry);
            _dbContext.SaveChanges();
        }
 public PasswordCheckFailedException(AuthAccountEntry entry)
     : base($"User ({entry.Username}, {entry.Id}) tried to log in with an invalid password!")
 {
 }
Example #3
0
 public AccountLockedException(AuthAccountEntry entry)
     : base($"User ({entry.Username}, {entry.Id}) tried to log in, but he/she is locked.")
 {
 }
        public bool CheckPassword(AuthAccountEntry entry, string password)
        {
            var expectedPasswordHash = Hash(password, entry.Salt);

            return(expectedPasswordHash == entry.Password);
        }