public async Task <AuthenticationResult <User> > AuthenticateAsync(string username, string password) { User user; using (QueryFactory db = _queryFactory.Invoke()) { user = await db.Query("users").Where("Username", username).Select("HashedPassword").FirstOrDefaultAsync <User>(); } if (user == null) { return(new AuthenticationResult <User>()); } if (!_passwordHash.CheckPassword(password, user?.HashedPassword)) { return(new AuthenticationResult <User>()); } return(new AuthenticationResult <User>(await GetByUsernameAsync(username))); }