Exemplo n.º 1
0
        public async Task <int> Handle(LoginCommand command, CancellationToken cancellationToken)
        {
            User user;

            try
            {
                user = await _context.Users
                       .AsNoTracking()
                       .Where(x => x.Active && x.Login == command.Login)
                       .FirstAsync(cancellationToken);
            }
            catch (InvalidOperationException)
            {
                throw new InvalidCredentialException();
            }

            var passwordHash    = user.Password;
            var passwordIsValid = passwordHash == _hasherService.GetHash(command.Password);

            if (!passwordIsValid)
            {
                throw new InvalidCredentialException();
            }

            return(user.Id);
        }
 private Task SeedSuperadmin(CancellationToken cancellationToken)
 {
     if (_context.Users.Any())
     {
         return(Task.CompletedTask);
     }
     _context.Users.Add(new User()
     {
         Login    = "******",
         Password = _hasher.GetHash("admin"),
         Super    = true,
         Active   = true,
         Username = "******",
     });
     return(_context.SaveChangesAsync(cancellationToken));
 }
        public void GetHash_ShouldWork(string password)
        {
            var hash = _hasherService.GetHash(password);

            Assert.NotNull(hash);
        }