### Apache Airflow version

2.2.2 (latest released)

### What happened

It logs into the Tableau server, starts a refresh, and then throws a NotSignedInError exception:

```
[2021-12-20, 07:40:13 CST] {{base.py:70}} INFO - Using connection to: id: tableau. Host: https://xxx/, Port: None, Schema: , Login: xxx, Password: ***, extra: {}
[2021-12-20, 07:40:14 CST] {{auth_endpoint.py:37}} INFO - Signed into https://xxx/ as user with id xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{workbooks_endpoint.py:41}} INFO - Querying all workbooks on site
[2021-12-20, 07:40:14 CST] {{tableau.py:141}} INFO - Found matching with id xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{auth_endpoint.py:53}} INFO - Signed out
[2021-12-20, 07:40:14 CST] {{jobs_endpoint.py:41}} INFO - Query for information about job xxx-xxx-xxx-xxx-xxx
[2021-12-20, 07:40:14 CST] {{taskinstance.py:1703}} ERROR - Task failed with exception
Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py", line 1332, in _run_raw_task
    self._execute_task_with_callbacks(context)
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py", line 1458, in _execute_task_with_callbacks
    result = self._execute_task(context, self.task)
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/models/taskinstance.py", line 1509, in _execute_task
    result = execute_callable(context=context)
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/operators/tableau.py", line 124, in execute
    if not tableau_hook.wait_for_state(
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/hooks/tableau.py", line 180, in wait_for_state
    finish_code = self.get_job_status(job_id=job_id)
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/tableau/hooks/tableau.py", line 163, in get_job_status
    return TableauJobFinishCode(int(self.server.jobs.get_by_id(job_id).finish_code))
  File "/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 177, in wrapper
    return func(self, *args, **kwargs)
  File "/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/jobs_endpoint.py", line 42, in get_by_id
    url = "{0}/{1}".format(self.baseurl, job_id)
  File "/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/endpoint/jobs_endpoint.py", line 14, in baseurl
    return "{0}/sites/{1}/jobs".format(self.parent_srv.baseurl, self.parent_srv.site_id)
  File "/home/airflow/.local/lib/python3.9/site-packages/tableauserverclient/server/server.py", line 168, in site_id
    raise NotSignedInError(error)
tableauserverclient.server.exceptions.NotSignedInError: Missing site ID. You must sign in first.
[2021-12-20, 07:40:14 CST] {{taskinstance.py:1270}} INFO - Marking task as FAILED. dag_id=tableau-refresh, task_id=refresh_tableau_workbook, execution_date=20211220T194008, start_date=20211220T194013, end_date=20211220T194014
```

### What you expected to happen

It should've logged into Tableau, started a refresh, and then waited for the refresh to finish.

### How to reproduce

Use a TableauOperator with a blocking refresh:

```
TableauOperator(
    resource='workbooks',
    method='refresh',
    find='Tableau workbook',
    match_with='name',
    site_id='tableau_site',
    task_id='refresh_tableau_workbook',
    tableau_conn_id='tableau',
    blocking_refresh=True,
    dag=dag,
)
```

### Operating System

Debian GNU/Linux 10 (buster)

### Versions of Apache Airflow Providers

apache-airflow-providers-tableau==2.1.2

### Deployment

Docker-Compose

### Deployment details

I'm using the official `apache/airflow:2.2.2-python3.9` Docker image

### Anything else

It occurs every time I use the new TableauOperator to do a blocking refresh of a workbook.

### 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)

airflow/providers/tableau/operators/tableau.py
"""
    Execute a Tableau API Resource
    https://tableau.github.io/server-client-python/docs/api-ref
    .. seealso::
        For more information on how to use this operator, take a look at the guide:
        :ref:`howto/operator:TableauOperator`
    :param resource: The name of the resource to use.
    :type resource: str
    :param method: The name of the resource's method to execute.
    :type method: str
    :param find: The reference of resource that will receive the action.
    :type find: str
    :param match_with: The resource field name to be matched with find parameter.
    :type match_with: Optional[str]
    :param site_id: The id of the site where the workbook belongs to.
    :type site_id: Optional[str]
    :param blocking_refresh: By default will be blocking means it will wait until it has finished.
    :type blocking_refresh: bool
    :param check_interval: time in seconds that the job should wait in
        between each instance state checks until operation is completed
    :type check_interval: float
    :param tableau_conn_id: The :ref:`Tableau Connection id <howto/connection:tableau>`
        containing the credentials to authenticate to the Tableau Server.
    :type tableau_conn_id: str
    """
    def __init__(