示例#1
0
        public Users Authenticate(string emailAddress, string password)
        {
            var user = _context.users.SingleOrDefault(x => x.EmailAddress == emailAddress);

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

            try
            {
                if (_passwordHasher.VerifyHashedPassword(user, user.Password, password) == PasswordVerificationResult.Success)
                {
                    _logger.LogInformation("Correct password! Generating token.");
                    user.Token = _tokenBuilder.GetAuthToken(user);
                    return(user);
                }
                else
                {
                    _logger.LogError("Failed. Wrong email address and/or password.");
                    return(null);
                }
            } catch (Exception ex)
            {
                this._logger.LogInformation("Caught exception ex: " + ex);
                return(null);
            }
        }