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); }