Ejemplo n.º 1
0
        public async Task SignInAsync(SignInServiceModel model)
        {
            //consider to rid of AsEnumerable()
            if (_userObjectService.GetUserByUserNameAsync(model.Username) == null)
            {
                throw new DomainServicesException($"User with login '{model.Username}' is already exists.");
            }

            byte[] salt = new byte[128 / 8];
            using (var rng = RandomNumberGenerator.Create())
            {
                rng.GetBytes(salt);
            }

            User user = new User
            {
                Password = HashPassword(model.Password, salt),
                Username = model.Username,
                Salt     = salt
            };
            await _userObjectService.CreateUserAsync(user);
        }
Ejemplo n.º 2
0
        public async Task SignInAsync(SignInServiceModel model)
        {
            //consider to rid of AsEnumerable()
            if (_userReadRepository.GetAll().Where(x => x.Username == model.Username).AsEnumerable().Any())
            {
                throw new DomainServicesException($"User with login '{model.Username}' is already exists.");
            }

            byte[] salt = new byte[128 / 8];
            using (var rng = RandomNumberGenerator.Create())
            {
                rng.GetBytes(salt);
            }

            User user = new User
            {
                Password = HashPassword(model.Password, salt),
                Username = model.Username,
                Salt     = salt
            };
            await _userWriteRepository.CreateAsync(user);

            await _userWriteRepository.SaveChangesAsync();
        }