### Description

At the moment the Azure Data Factory hook only supports `TokenCredential` (service principal client ID and secret). It would be very useful to have support for other authentication types like managed identity. Preferably, we would create a `DefaultTokenCredential` if the client ID and secret are not provided in the connection.

### Use case/motivation

We're using Airflow on Azure Kubernetes Service and this would allow us to use the pod identity for authentication which is a lot cleaner than creating a service principal.

### Related issues

_No response_

### Are you willing to submit a PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/providers/microsoft/azure/hooks/data_factory.py
"""Azure Data Factory pipeline operation statuses."""
    QUEUED = "Queued"
    IN_PROGRESS = "InProgress"
    SUCCEEDED = "Succeeded"
    FAILED = "Failed"
    CANCELING = "Canceling"
    CANCELLED = "Cancelled"
    TERMINAL_STATUSES = {CANCELLED, FAILED, SUCCEEDED}
class AzureDataFactoryPipelineRunException(AirflowException):
    """An exception that indicates a pipeline run failed to complete."""
class AzureDataFactoryHook(BaseHook):
    """
    A hook to interact with Azure Data Factory.
    :param azure_data_factory_conn_id: The :ref:`Azure Data Factory connection id<howto/connection:adf>`.
    :type azure_data_factory_conn_id: str
    """
    conn_type: str = 'azure_data_factory'
    conn_name_attr: str = 'azure_data_factory_conn_id'
    default_conn_name: str = 'azure_data_factory_default'
    hook_name: str = 'Azure Data Factory'
    @staticmethod
    def get_connection_form_widgets() -> Dict[str, Any]: