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