Example #1
0
        public async Task <string> AuthenticateAsync(string name, string password)
        {
            //validate name and password.
            if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(password))
            {
                return(null);
            }

            //check if dealer exists.
            var dealer = await _dealerRepository.GetDealerByNameAsync(name);

            if (dealer == null)
            {
                return(null);
            }

            //verify password.
            if (!_authenticationProvider.VerifyPassword(password, dealer.PasswordHash, dealer.PasswordSalt))
            {
                return(null);
            }

            return(_authenticationProvider.GenerateJWTToken(dealer));
        }