Esempio n. 1
0
        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)));
        }