### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

Airflow Version 2.5.2

Issue: Create a connection of type azure blob storage using the method #3 described in [OSS docs](https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/stable/connections/wasb.html). 

When we use the storage account name and the access key as in the below screenshot, the connection works just fine.
<img width="637" alt="connection-blob-storage-access-key" src="https://github.com/apache/airflow/assets/75730393/6cf76b44-f65f-40c0-8279-32c58b6d57ba">


Then what is the purpose of the extra field called `Blob Storage Shared Access Key(Optional)`? When I tried to put the access key in this field, then connection fails with the below error on testing: 

```
invalid url http://
```
Code reference: https://github.com/apache/airflow/blob/main/airflow/providers/microsoft/azure/hooks/wasb.py#L190-L192



### What you think should happen instead

_No response_

### How to reproduce

- Create a Azure Storage account
- Go to Access Control (IAM), copy the key
- Spin up new local airflow environment using Astro CLI with runtime version 7.4.1
- Go to Airflow UI -> Admin -> Connections -> create a new connection of type Azure blob Storage
- Enter the name of the storage account in Blob Storage Login and the key copied from Azure to Blob Shared Access Key (Optional) and click on Test connection. 

### Operating System

Astro runtime 7.4.1 image on MacOS

### Versions of Apache Airflow Providers

_No response_

### Deployment

Astronomer

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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)

app_id = conn.login
            app_secret = conn.password
            token_credential = AsyncClientSecretCredential(
                tenant, app_id, app_secret, **client_secret_auth_config
            )
            self.blob_service_client = AsyncBlobServiceClient(
                account_url=conn.host, credential=token_credential, **extra  
            )
            return self.blob_service_client
        sas_token = self._get_field(extra, "sas_token")
        if sas_token:
            if sas_token.startswith("https"):
                self.blob_service_client = AsyncBlobServiceClient(account_url=sas_token, **extra)
            else:
                self.blob_service_client = AsyncBlobServiceClient(
                    account_url=f"https://{conn.login}.blob.core.windows.net/{sas_token}", **extra
                )
            return self.blob_service_client
        
        credential = conn.password
        if not credential:
            credential = AsyncDefaultAzureCredential()
            self.log.info("Using DefaultAzureCredential as credential")
        self.blob_service_client = AsyncBlobServiceClient(
            account_url=f"https://{conn.login}.blob.core.windows.net/",
            credential=credential,
            **extra,
        )
        return self.blob_service_client
    def _get_blob_client(self, container_name: str, blob_name: str) -> AsyncBlobClient: