Publish to Tableau Server with SSO

Hey all. Quandary for you.

I am trying to publish to Tableau Server, and the documentation uses username/password, but we have SSO authentication.

I have created an API token on our server and put this in the Publish to Tableau Server node, but it keeps telling me “invalid authentication credentials provided”.

Is there something I am missing???

Hi @EvanB,

How exactly did you generate the “API token”? Did you generate a “Personal Access Token” as described here? The “Send to Tableau Server” node does not support these kind of “Personal Access Tokens” yet.
The “Authentication Token” lets you configure a token that is directly used to make the API calls.

Hi, @bwilhelm , if Knime doesn’t support the Tableau Server Personal Access Tokens yet, how can I create a Tableau server token that Knime does support?

Hi @mkeller,
Welcome to the KNIME Forum! Some Tableau Users have special authentication setups where they get this token (and authentication via username and password is not possible). Please use the username and password authentication if this is possible for you.
Optaining the token manually is a bit more involved. You would need to make REST calls to the Tableau server using your “Personal Access Token” to get a response with the “Authentication Token” as described here. Please let me know if you need to do this and I will lookup the details and help you to set it up.

2 Likes

@bwilhelm , the username and password gives the following error message:

javax.ws.rs.ProcessingException: javax.net.sll.SSLHandshakeException: SSL HandshakeException invoking https://<mycompanysserver.com>/api/2.8/auth/signin: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Does Knime not support Tableau Server using OpenID Connect authentication?

Hi @mkeller,

We do not support OpenID Connect in the Tableau nodes yet.

However, the error that you got indicates that the SSL certificate of the Tableau Server could not be verified. Please see this post: Send to Tableau server node error.

Thanks, we’ve resolved that error by importing the cert and now I am getting the following error:

org.knime.ext.tableau.hyperapi.sendtable.api.RestApiConnection$TsResponseException: Signin Error: Error signing in to Tableau Server (Error code: 401001).

What can I do about this one?

Hi @mkeller,

The error code states (source):

The credentials (name or password, or personal access token name or secret) are invalid for the specified site, or the site content URL is invalid.

I can imagine that this error code is always returned by the Tableau server if a sign-in is requested and OpenID Connect is configured. Sadly, I cannot verify this quickly because we have no Tableau Server with OpenID Connect available right now.
If you don’t use OpenID Connect, check your username, password and site content URL.

Unfortunately, anything that requires IT support is not doable. :frowning:

Is there a way to add an External Browser authentication???

This worked for me:
[1] Generate Personal Access Token.

[2] Install the following python modules:

[3] Use the attached component to upload hyper files.

[Ref: hyper-api-samples/publish-hyper-file.py at main · tableau/hyper-api-samples · GitHub]

publish_tableau_hyper_knimeForum.knwf (18.7 KB)

1 Like