<h3 dir="auto">What do you see as an issue?</h3>
<p dir="auto">Currently, in the Airflow documentation of Tableau connector, it is marked as deprecated to use a token to authenticate to Tableau.<br>
<a href="https://airflow.apache.org/docs/apache-airflow-providers-tableau/stable/connections/tableau.html#authenticating-to-tableau" rel="nofollow">https://airflow.apache.org/docs/apache-airflow-providers-tableau/stable/connections/tableau.html#authenticating-to-tableau</a></p>
<p dir="auto">However, since MFA enforcement release (27th April 2023), it is now impossible to use a user/password to authenticate as a service account.</p>
<h3 dir="auto">Solving the problem</h3>
<p dir="auto">Put the deprecated (even remove?) flag on the user/password authentication, and mark the access token authentication as strongly recommended.</p>
<h3 dir="auto">Anything else</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Are you willing to submit PR?</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Yes I am willing to submit a PR!</li>
</ul>
<h3 dir="auto">Code of Conduct</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow this project's <a href="https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md">Code of Conduct</a></li>
</ul>
<h3 dir="auto">Description</h3>
<p dir="auto">In Tableau Online, you can use user name and password method for REST API calls, <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_auth.htm" rel="nofollow">only if you don't use MFA</a>.<br>
Thus, organizations that enabled MFA in Tableau, have to use <a href="https://help.tableau.com/current/online/en-us/security_personal_access_tokens.htm" rel="nofollow">Personal Access Tokens</a> for API calls to Tableau.<br>
However, <a href="https://github.com/apache/airflow/pull/16916" data-hovercard-type="pull_request" data-hovercard-url="/apache/airflow/pull/16916/hovercard">Airflow deprecated the usage of Personal Access Tokens</a> in <a href="https://airflow.apache.org/docs/apache-airflow-providers-tableau/stable/_modules/airflow/providers/tableau/hooks/tableau.html" rel="nofollow">airflow.providers.tableau.hooks.tableau</a>, since <a href="https://github.com/apache/airflow/issues/16669" data-hovercard-type="issue" data-hovercard-url="/apache/airflow/issues/16669/hovercard">there is a problem</a> that each time you try to open a parallel connection, the previous one would be invalidated.</p>
<h3 dir="auto">Use case/motivation</h3>
<p dir="auto">I would like to use the Personal Access Token method for API calls to Tableau.<br>
I see 2 solutions that might be applicable:</p>
<ol dir="auto">
<li>Create 1 connection to Tableau and use that for all API calls from Airflow in a specific timeframe. I am not sure if this is feasible</li>
<li>Create a pool of tokens and for each connection to Tableau from Airflow, create a new connection id with 1 of the unused tokens. I saw that on Airflow, you can <a href="https://airflow.apache.org/docs/apache-airflow/1.10.14/howto/connection/index.html#generating-a-connection-uri" rel="nofollow">generate connection on the fly</a>. I am not sure how to handle the token pool though</li>
</ol>
<p dir="auto">I am open to other solutions and guidance. Also, I am not sure I can submit a PR since I have never contributed to an open source project but I can try.</p>
<h3 dir="auto">Related issues</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Are you willing to submit a PR?</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Yes I am willing to submit a PR!</li>
</ul>
<h3 dir="auto">Code of Conduct</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow this project's <a href="https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md">Code of Conduct</a></li>
</ul>