Open carlineng opened 3 weeks ago
Unfortunately the current implementation is incompatible with web authentication, even after updating. Snowflakes own pooling mechanism, which we use, doesn't support it:
Error [ClientError]: connect() does not work with external browser or okta authenticators, call connectAsync() instead
at createError (/Users/scullin/src/malloydata/malloy/node_modules/snowflake-sdk/lib/errors.js:537:17)
at exports.createClientError (/Users/scullin/src/malloydata/malloy/node_modules/snowflake-sdk/lib/errors.js:374:10)
at Connection.connect (/Users/scullin/src/malloydata/malloy/node_modules/snowflake-sdk/lib/connection/connection.js:219:20)
at /Users/scullin/src/malloydata/malloy/node_modules/snowflake-sdk/lib/core.js:273:20
at new Promise (<anonymous>)
at ConnectionFactory.create (/Users/scullin/src/malloydata/malloy/node_modules/snowflake-sdk/lib/core.js:272:14)
at Pool._createResource (/Users/scullin/src/malloydata/malloy/node_modules/generic-pool/lib/Pool.js:319:42)
at Pool._dispense (/Users/scullin/src/malloydata/malloy/node_modules/generic-pool/lib/Pool.js:237:12)
at Pool.acquire (/Users/scullin/src/malloydata/malloy/node_modules/generic-pool/lib/Pool.js:468:10)
at Pool.use (/Users/scullin/src/malloydata/malloy/node_modules/generic-pool/lib/Pool.js:479:17) {
Sort of weird, since .connect()
is async, afaict, but we'll need to figure out whether to tackle our own pooling or provide a non-pooled mechanism for web authentication.
What happens?
We should support SSO authentication for Snowflake in the VS Code extension.
From Slack:
also:
and
To Reproduce
N/A
OS:
N/A
Malloy Client:
N/A
Malloy Client Version:
N/A
Database Connection:
N/A