### 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
"""Returns connection widgets to add to connection form"""
        from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
        from flask_babel import lazy_gettext
        from wtforms import StringField
        return {
            "extra__azure_data_factory__tenantId": StringField(
                lazy_gettext('Tenant ID'), widget=BS3TextFieldWidget()
            ),
            "extra__azure_data_factory__subscriptionId": StringField(
                lazy_gettext('Subscription ID'), widget=BS3TextFieldWidget()
            ),
            "extra__azure_data_factory__resource_group_name": StringField(
                lazy_gettext('Resource Group Name'), widget=BS3TextFieldWidget()
            ),
            "extra__azure_data_factory__factory_name": StringField(
                lazy_gettext('Factory Name'), widget=BS3TextFieldWidget()
            ),
        }
    @staticmethod
    def get_ui_field_behaviour() -> Dict:
        """Returns custom field behaviour"""
        return {
            "hidden_fields": ['schema', 'port', 'host', 'extra'],
            "relabeling": {
                'login': 'Client ID',
                'password': 'Secret',
            },
        }
    def __init__(self, azure_data_factory_conn_id: Optional[str] = default_conn_name):