QuickSight fails to connect to Snowflake using OAuth token

QuickSight supports OAuth connection, according to Creating an Amazon QuickSight data source connection to Snowflake with OAuth client credentials - Amazon QuickSight Since Snowflake will deprecate password authentication in the near future, I would like to move away from password authentication.

The TokenProviderUrl I pass to the QuickSight data source returns an access_token and a refresh_token following the OAuth protocol. I can use the access token to connect to Snowflake using snowsql without problem. However, when I try to create a dataset in QuickSight using the Snowflake data source with OAuth, I only see a message “Something went wrong”.

Can anyone share a working example of a Snowflake data source with OAuth? There are no error messages that would allow to understand why QuickSight fails to use the access token. I also didn’t find any useful documentation besides the page I mentioned above.

Hi @cschaefer and welcome to the QuickSight community!
I believe when switching the authentication method for Snowflake to the ‘access_token’ and ‘refresh_token’ instead of the password authentication, you need to connect via VPC. This should allow you to bypass the error you are currently experiencing.

Let me know if you have any additional questions!

Hi @Brett, thanks for reviewing my question. The private connection would allow to query from Snowflake without connection over the public internet which requires a standing Private Link and a Business Critical Snowflake account. The AWS documentation does not mention any relation to authentication via OAuth. This will not solve the problem we’re facing when Snowflake deprecates password only authentication.

Hey @cschaefer

I was reading gup on this issue and I’m not sure if there is a specific solution at this point. I found a topic that is similar to the issue you are having:

From what I can tell it seems like the current workaround is using something like Okta.

Thanks @duncan for pointing me to the other post. That’s exactly the same issue I’m stuck with.