Fix/stale authenticator reference for external SSO connection caching #918
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
#820 Implemented sso token caching. However token caching does not work in version 1.13.1 of this lib (and possibly other versions). Every new connection fails to use the id token that is written to disk.
Issues found:
clientStoreTemporaryCredential
needs to be set to true in the connection config, yet it's not a field defined inindex.d.ts
.connectionConfig
(inconnection.js
) that thesf
service has access to does not have aidToken
set (even though there is one available), which seems to indicate that thesf
service has a stale closure / reference toconnectionConfig
console.log
'ingconnectionConfig.idToken
inside ofconnection.js:295
relatedly, the docs are outdated as they do not specify that connection caching is supported for the NodeJS driver
Testing the fix
Run the following script twice:
Expected / fixed behaviour:
snowflake-sdk
uses id token inside oftemporary_credential.json
file that was written to disk during initial authentication flowChecklist
npm run lint:check -- CHANGED_FILES
and fix problems in changed code)npm run test:unit
andnpm run test:integration
)