**Description**

Currently the `SalesforceHook` only supports authentication via username, password, and security token.  The Salesforce API used under the hood supports a few other authentication types:
- Direct access via a session ID
- IP filtering
- JWT access

**Use case / motivation**

The `SalesforceHook` should support all authentication types supported by the underlying API.

**Are you willing to submit a PR?**
Yes 🚀 

**Related Issues**
#8766 

airflow/providers/salesforce/hooks/salesforce.py
#
#
#
#
"""
This module contains a Salesforce Hook which allows you to connect to your Salesforce instance,
retrieve data from it, and write that data to a file for other uses.
.. note:: this hook also relies on the simple_salesforce package:
      https://github.com/simple-salesforce/simple-salesforce
"""
import logging
import time
from typing import Any, Dict, Iterable, List, Optional
import pandas as pd
from simple_salesforce import Salesforce, api
from airflow.hooks.base import BaseHook
log = logging.getLogger(__name__)
class SalesforceHook(BaseHook):
    """
    Creates new connection to Salesforce and allows you to pull data out of SFDC and save it to a file.
    You can then use that file with other Airflow operators to move the data into another data source.