### Apache Airflow Provider(s)

http

### Versions of Apache Airflow Providers

apache-airflow-providers-http==4.1.1

### Apache Airflow version

2.5.0

### Operating System

Ubuntu 20.04.5 LTS (Focal Fossa)"

### Deployment

Virtualenv installation

### Deployment details

Reproduced on a local deployment inside WSL on virtualenv - not related to specific deployment. 

### What happened

SimpleHttpOperator supports passing in auth_type. Hovewer, [this auth_type is only initialized if login is provided](https://github.com/astronomer/airflow-provider-sample/blob/main/sample_provider/hooks/sample_hook.py#L64-L65).

In our setup we are using the Kerberos authentication. This authentication relies on kerberos sidecar with keytab, and not on user-password pair in the connection string. However, this would also be issue with any other implementation not relying on username passed in the connection string.

We were trying to use some other auth providers from (`HTTPSPNEGOAuth` from [requests_gssapi](https://pypi.org/project/requests-gssapi/) and `HTTPKerberosAuth` from [requests_kerberos](https://pypi.org/project/requests-kerberos/)). We noticed that requests_kerberos is used in Airflow in some other places for Kerberos support, hence we have settled on the latter.



### What you think should happen instead

A suggestion is to initialize the passed `auth_type` also if no login is present.

### How to reproduce

A branch demonstrating possible fix:
https://github.com/apache/airflow/commit/7d341f081f0160ed102c06b9719582cb463b538c

### Anything else

The linked branch is a quick-and-dirty solution, but maybe the code could be refactored in another way? Support for **kwargs could also be useful, but I wanted to make as minimal changes as possible.

### Are you willing to submit 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)

:param class_name: Application Java/Spark main class string.
        :param args: Command line arguments for the application s.
        :param jars: jars to be used in this sessions.
        :param py_files: Python files to be used in this session.
        :param files: files to be used in this session.
        :param driver_memory: Amount of memory to use for the driver process  string.
        :param driver_cores: Number of cores to use for the driver process int.
        :param executor_memory: Amount of memory to use per executor process  string.
        :param executor_cores: Number of cores to use for each executor  int.
        :param num_executors: Number of executors to launch for this session  int.
        :param archives: Archives to be used in this session.
        :param queue: The name of the YARN queue to which submitted string.
        :param name: The name of this session string.
        :param conf: Spark configuration properties.
        :return: request body
        """
        body: dict[str, Any] = {"file": file}
        if proxy_user:
            body["proxyUser"] = proxy_user
        if class_name:
            body["className"] = class_name
        if args and LivyAsyncHook._validate_list_of_stringables(args):
            body["args"] = [str(val) for val in args]
        if jars and LivyAsyncHook._validate_list_of_stringables(jars):
            body["jars"] = jars
        if py_files and LivyAsyncHook._validate_list_of_stringables(py_files):
            body["pyFiles"] = py_files
        if files and LivyAsyncHook._validate_list_of_stringables(files):
            body["files"] = files
        if driver_memory and LivyAsyncHook._validate_size_format(driver_memory):