@thoughtspot/visual-embed-sdk 1.11.0-auth.3 → 1.11.0-auth.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -86,6 +86,11 @@ export interface ViewConfig {
86
86
  * @version 1.9.4 or later
87
87
  */
88
88
  locale?: string;
89
+ /**
90
+ * This message is displayed on the embed view when the login fails.
91
+ * @version 1.10.1 | ThoughtSpot: *
92
+ */
93
+ loginFailedMessage?: string;
89
94
  /**
90
95
  * This is an object (key/val) of override flags which will be applied
91
96
  * to the internal embedded object. This can be used to add any
@@ -8689,8 +8689,8 @@ function initMixpanel(sessionInfo) {
8689
8689
  // eslint-disable-next-line import/no-cycle
8690
8690
  function failureLoggedFetch(url, options = {}) {
8691
8691
  return fetch(url, options).then(async (r) => {
8692
- if (!r.ok) {
8693
- console.error('Failure', await r.json());
8692
+ if (!r.ok && r.type !== 'opaqueredirect') {
8693
+ console.error('Failure', await r.text());
8694
8694
  }
8695
8695
  return r;
8696
8696
  });
@@ -8698,7 +8698,6 @@ function failureLoggedFetch(url, options = {}) {
8698
8698
  function fetchSessionInfoService(authVerificationUrl) {
8699
8699
  return failureLoggedFetch(authVerificationUrl, {
8700
8700
  credentials: 'include',
8701
- redirect: 'manual',
8702
8701
  });
8703
8702
  }
8704
8703
  async function fetchAuthTokenService(authEndpoint) {
@@ -8707,8 +8706,8 @@ async function fetchAuthTokenService(authEndpoint) {
8707
8706
  async function fetchAuthService(thoughtSpotHost, username, authToken) {
8708
8707
  return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
8709
8708
  credentials: 'include',
8710
- }).catch((e) => {
8711
- console.error(e);
8709
+ // We do not want to follow the redirect, as it starts giving a CORS error
8710
+ redirect: 'manual',
8712
8711
  });
8713
8712
  }
8714
8713
  async function fetchBasicAuthService(thoughtSpotHost, username, password) {
@@ -8758,6 +8757,15 @@ function initSession(sessionDetails) {
8758
8757
  sessionInfo = sessionDetails;
8759
8758
  initMixpanel(sessionInfo);
8760
8759
  }
8760
+ const DUPLICATE_TOKEN_ERR = 'Duplicate token, please issue a new token every time getAuthToken callback is called.' +
8761
+ 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
8762
+ let prevAuthToken = null;
8763
+ function alertForDuplicateToken(authtoken) {
8764
+ if (prevAuthToken === authtoken) {
8765
+ alert(DUPLICATE_TOKEN_ERR);
8766
+ }
8767
+ prevAuthToken = authtoken;
8768
+ }
8761
8769
  /**
8762
8770
  * Check if we are stuck at the SSO redirect URL
8763
8771
  */
@@ -8788,13 +8796,16 @@ const doTokenAuth = async (embedConfig) => {
8788
8796
  let authToken = null;
8789
8797
  if (getAuthToken) {
8790
8798
  authToken = await getAuthToken();
8799
+ alertForDuplicateToken(authToken);
8800
+ throw new Error(DUPLICATE_TOKEN_ERR);
8791
8801
  }
8792
8802
  else {
8793
8803
  const response = await fetchAuthTokenService(authEndpoint);
8794
8804
  authToken = await response.text();
8795
8805
  }
8796
8806
  const resp = await fetchAuthService(thoughtSpotHost, username, authToken);
8797
- loggedInStatus = resp.status === 200;
8807
+ // token login issues a 302 when successful
8808
+ loggedInStatus = resp.ok || resp.type === 'opaqueredirect';
8798
8809
  }
8799
8810
  else {
8800
8811
  loggedInStatus = true;
@@ -8814,7 +8825,7 @@ const doBasicAuth = async (embedConfig) => {
8814
8825
  const loggedIn = await isLoggedIn(thoughtSpotHost);
8815
8826
  if (!loggedIn) {
8816
8827
  const response = await fetchBasicAuthService(thoughtSpotHost, username, password);
8817
- loggedInStatus = response.status === 200;
8828
+ loggedInStatus = response.ok;
8818
8829
  }
8819
8830
  else {
8820
8831
  loggedInStatus = true;
@@ -9107,7 +9118,7 @@ function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
9107
9118
  }
9108
9119
  }
9109
9120
 
9110
- var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.3";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports={".":"./lib/src/index.js","./react":"./lib/src/react/index.js"};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",posttest:"cat ./coverage/sdk/lcov.info | coveralls",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1","mixpanel-browser":"^2.41.0"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","dts-bundle":"0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.1.0","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"4.1.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^4.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-neo-theme":"^1.1.0","typedoc-plugin-toc-group":"0.0.5",typescript:"^4.1.0","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports,scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
9121
+ var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.6";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports={".":"./lib/src/index.js","./react":"./lib/src/react/index.js"};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",posttest:"cat ./coverage/sdk/lcov.info | coveralls",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1","mixpanel-browser":"^2.41.0"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","dts-bundle":"0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.1.0","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"4.1.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^4.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-neo-theme":"^1.1.0","typedoc-plugin-toc-group":"0.0.5",typescript:"^4.1.0","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports,scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
9111
9122
 
9112
9123
  /**
9113
9124
  * Copyright (c) 2022
@@ -9157,7 +9168,7 @@ class TsEmbed {
9157
9168
  if (!this.embedConfig.suppressNoCookieAccessAlert) {
9158
9169
  this.on(EmbedEvent.NoCookieAccess, () => {
9159
9170
  // eslint-disable-next-line no-alert
9160
- alert('Third party cookie access is blocked on this browser, please allow third party cookies for ThoughtSpot to work properly');
9171
+ alert('Third party cookie access is blocked on this browser, please allow third party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.');
9161
9172
  });
9162
9173
  }
9163
9174
  }
@@ -9187,7 +9198,7 @@ class TsEmbed {
9187
9198
  error,
9188
9199
  });
9189
9200
  // Log error
9190
- console.log(error);
9201
+ console.error(error);
9191
9202
  }
9192
9203
  /**
9193
9204
  * Extracts the type field from the event payload
@@ -9357,7 +9368,9 @@ class TsEmbed {
9357
9368
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
9358
9369
  (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
9359
9370
  if (!isLoggedIn) {
9360
- this.el.innerHTML = 'Login failed';
9371
+ this.el.innerHTML =
9372
+ this.viewConfig.loginFailedMessage ||
9373
+ 'Login failed';
9361
9374
  return;
9362
9375
  }
9363
9376
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_COMPLETE);
@@ -9409,6 +9422,8 @@ class TsEmbed {
9409
9422
  }).catch((error) => {
9410
9423
  nextInQueue();
9411
9424
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED);
9425
+ this.el.innerHTML =
9426
+ this.viewConfig.loginFailedMessage || 'Login failed';
9412
9427
  this.handleError(error);
9413
9428
  });
9414
9429
  });
package/dist/tsembed.js CHANGED
@@ -8658,8 +8658,8 @@
8658
8658
  // eslint-disable-next-line import/no-cycle
8659
8659
  function failureLoggedFetch(url, options = {}) {
8660
8660
  return fetch(url, options).then(async (r) => {
8661
- if (!r.ok) {
8662
- console.error('Failure', await r.json());
8661
+ if (!r.ok && r.type !== 'opaqueredirect') {
8662
+ console.error('Failure', await r.text());
8663
8663
  }
8664
8664
  return r;
8665
8665
  });
@@ -8667,7 +8667,6 @@
8667
8667
  function fetchSessionInfoService(authVerificationUrl) {
8668
8668
  return failureLoggedFetch(authVerificationUrl, {
8669
8669
  credentials: 'include',
8670
- redirect: 'manual',
8671
8670
  });
8672
8671
  }
8673
8672
  async function fetchAuthTokenService(authEndpoint) {
@@ -8676,8 +8675,8 @@
8676
8675
  async function fetchAuthService(thoughtSpotHost, username, authToken) {
8677
8676
  return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
8678
8677
  credentials: 'include',
8679
- }).catch((e) => {
8680
- console.error(e);
8678
+ // We do not want to follow the redirect, as it starts giving a CORS error
8679
+ redirect: 'manual',
8681
8680
  });
8682
8681
  }
8683
8682
  async function fetchBasicAuthService(thoughtSpotHost, username, password) {
@@ -8727,6 +8726,15 @@
8727
8726
  sessionInfo = sessionDetails;
8728
8727
  initMixpanel(sessionInfo);
8729
8728
  }
8729
+ const DUPLICATE_TOKEN_ERR = 'Duplicate token, please issue a new token every time getAuthToken callback is called.' +
8730
+ 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
8731
+ let prevAuthToken = null;
8732
+ function alertForDuplicateToken(authtoken) {
8733
+ if (prevAuthToken === authtoken) {
8734
+ alert(DUPLICATE_TOKEN_ERR);
8735
+ }
8736
+ prevAuthToken = authtoken;
8737
+ }
8730
8738
  /**
8731
8739
  * Check if we are stuck at the SSO redirect URL
8732
8740
  */
@@ -8757,13 +8765,16 @@
8757
8765
  let authToken = null;
8758
8766
  if (getAuthToken) {
8759
8767
  authToken = await getAuthToken();
8768
+ alertForDuplicateToken(authToken);
8769
+ throw new Error(DUPLICATE_TOKEN_ERR);
8760
8770
  }
8761
8771
  else {
8762
8772
  const response = await fetchAuthTokenService(authEndpoint);
8763
8773
  authToken = await response.text();
8764
8774
  }
8765
8775
  const resp = await fetchAuthService(thoughtSpotHost, username, authToken);
8766
- loggedInStatus = resp.status === 200;
8776
+ // token login issues a 302 when successful
8777
+ loggedInStatus = resp.ok || resp.type === 'opaqueredirect';
8767
8778
  }
8768
8779
  else {
8769
8780
  loggedInStatus = true;
@@ -8783,7 +8794,7 @@
8783
8794
  const loggedIn = await isLoggedIn(thoughtSpotHost);
8784
8795
  if (!loggedIn) {
8785
8796
  const response = await fetchBasicAuthService(thoughtSpotHost, username, password);
8786
- loggedInStatus = response.status === 200;
8797
+ loggedInStatus = response.ok;
8787
8798
  }
8788
8799
  else {
8789
8800
  loggedInStatus = true;
@@ -9076,7 +9087,7 @@
9076
9087
  }
9077
9088
  }
9078
9089
 
9079
- var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.3";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports$1={".":"./lib/src/index.js","./react":"./lib/src/react/index.js"};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",posttest:"cat ./coverage/sdk/lcov.info | coveralls",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1","mixpanel-browser":"^2.41.0"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","dts-bundle":"0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.1.0","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"4.1.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^4.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-neo-theme":"^1.1.0","typedoc-plugin-toc-group":"0.0.5",typescript:"^4.1.0","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports$1,scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
9090
+ var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.6";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports$1={".":"./lib/src/index.js","./react":"./lib/src/react/index.js"};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",posttest:"cat ./coverage/sdk/lcov.info | coveralls",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1","mixpanel-browser":"^2.41.0"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","dts-bundle":"0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.1.0","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"4.1.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^4.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-neo-theme":"^1.1.0","typedoc-plugin-toc-group":"0.0.5",typescript:"^4.1.0","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports$1,scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
9080
9091
 
9081
9092
  /**
9082
9093
  * Copyright (c) 2022
@@ -9126,7 +9137,7 @@
9126
9137
  if (!this.embedConfig.suppressNoCookieAccessAlert) {
9127
9138
  this.on(exports.EmbedEvent.NoCookieAccess, () => {
9128
9139
  // eslint-disable-next-line no-alert
9129
- alert('Third party cookie access is blocked on this browser, please allow third party cookies for ThoughtSpot to work properly');
9140
+ alert('Third party cookie access is blocked on this browser, please allow third party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.');
9130
9141
  });
9131
9142
  }
9132
9143
  }
@@ -9156,7 +9167,7 @@
9156
9167
  error,
9157
9168
  });
9158
9169
  // Log error
9159
- console.log(error);
9170
+ console.error(error);
9160
9171
  }
9161
9172
  /**
9162
9173
  * Extracts the type field from the event payload
@@ -9326,7 +9337,9 @@
9326
9337
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
9327
9338
  (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
9328
9339
  if (!isLoggedIn) {
9329
- this.el.innerHTML = 'Login failed';
9340
+ this.el.innerHTML =
9341
+ this.viewConfig.loginFailedMessage ||
9342
+ 'Login failed';
9330
9343
  return;
9331
9344
  }
9332
9345
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_COMPLETE);
@@ -9378,6 +9391,8 @@
9378
9391
  }).catch((error) => {
9379
9392
  nextInQueue();
9380
9393
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED);
9394
+ this.el.innerHTML =
9395
+ this.viewConfig.loginFailedMessage || 'Login failed';
9381
9396
  this.handleError(error);
9382
9397
  });
9383
9398
  });
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.11.0-auth.3",
3
+ "version": "1.11.0-auth.6",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
package/lib/src/auth.js CHANGED
@@ -44,6 +44,15 @@ export function initSession(sessionDetails) {
44
44
  sessionInfo = sessionDetails;
45
45
  initMixpanel(sessionInfo);
46
46
  }
47
+ const DUPLICATE_TOKEN_ERR = 'Duplicate token, please issue a new token every time getAuthToken callback is called.' +
48
+ 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
49
+ let prevAuthToken = null;
50
+ function alertForDuplicateToken(authtoken) {
51
+ if (prevAuthToken === authtoken) {
52
+ alert(DUPLICATE_TOKEN_ERR);
53
+ }
54
+ prevAuthToken = authtoken;
55
+ }
47
56
  /**
48
57
  * Check if we are stuck at the SSO redirect URL
49
58
  */
@@ -74,13 +83,16 @@ export const doTokenAuth = async (embedConfig) => {
74
83
  let authToken = null;
75
84
  if (getAuthToken) {
76
85
  authToken = await getAuthToken();
86
+ alertForDuplicateToken(authToken);
87
+ throw new Error(DUPLICATE_TOKEN_ERR);
77
88
  }
78
89
  else {
79
90
  const response = await fetchAuthTokenService(authEndpoint);
80
91
  authToken = await response.text();
81
92
  }
82
93
  const resp = await fetchAuthService(thoughtSpotHost, username, authToken);
83
- loggedInStatus = resp.status === 200;
94
+ // token login issues a 302 when successful
95
+ loggedInStatus = resp.ok || resp.type === 'opaqueredirect';
84
96
  }
85
97
  else {
86
98
  loggedInStatus = true;
@@ -100,7 +112,7 @@ export const doBasicAuth = async (embedConfig) => {
100
112
  const loggedIn = await isLoggedIn(thoughtSpotHost);
101
113
  if (!loggedIn) {
102
114
  const response = await fetchBasicAuthService(thoughtSpotHost, username, password);
103
- loggedInStatus = response.status === 200;
115
+ loggedInStatus = response.ok;
104
116
  }
105
117
  else {
106
118
  loggedInStatus = true;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,11 @@ export interface ViewConfig {
86
86
  * @version 1.9.4 or later
87
87
  */
88
88
  locale?: string;
89
+ /**
90
+ * This message is displayed on the embed view when the login fails.
91
+ * @version 1.10.1 | ThoughtSpot: *
92
+ */
93
+ loginFailedMessage?: string;
89
94
  /**
90
95
  * This is an object (key/val) of override flags which will be applied
91
96
  * to the internal embedded object. This can be used to add any
@@ -54,7 +54,7 @@ export class TsEmbed {
54
54
  if (!this.embedConfig.suppressNoCookieAccessAlert) {
55
55
  this.on(EmbedEvent.NoCookieAccess, () => {
56
56
  // eslint-disable-next-line no-alert
57
- alert('Third party cookie access is blocked on this browser, please allow third party cookies for ThoughtSpot to work properly');
57
+ alert('Third party cookie access is blocked on this browser, please allow third party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.');
58
58
  });
59
59
  }
60
60
  }
@@ -84,7 +84,7 @@ export class TsEmbed {
84
84
  error,
85
85
  });
86
86
  // Log error
87
- console.log(error);
87
+ console.error(error);
88
88
  }
89
89
  /**
90
90
  * Extracts the type field from the event payload
@@ -256,7 +256,9 @@ export class TsEmbed {
256
256
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
257
257
  (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
258
258
  if (!isLoggedIn) {
259
- this.el.innerHTML = 'Login failed';
259
+ this.el.innerHTML =
260
+ this.viewConfig.loginFailedMessage ||
261
+ 'Login failed';
260
262
  return;
261
263
  }
262
264
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_COMPLETE);
@@ -308,6 +310,8 @@ export class TsEmbed {
308
310
  }).catch((error) => {
309
311
  nextInQueue();
310
312
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED);
313
+ this.el.innerHTML =
314
+ this.viewConfig.loginFailedMessage || 'Login failed';
311
315
  this.handleError(error);
312
316
  });
313
317
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ts-embed.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-embed.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
@@ -109,14 +109,14 @@ describe('Unit test case for ts embed', () => {
109
109
  }, 1000);
110
110
  });
111
111
  });
112
- describe('when thoughtSpotHost have value and authPromise return success response', () => {
112
+ describe('when thoughtSpotHost have value and authPromise return response true/false', () => {
113
113
  beforeAll(() => {
114
114
  init({
115
115
  thoughtSpotHost,
116
116
  authType: AuthType.None,
117
117
  });
118
118
  });
119
- beforeEach(() => {
119
+ const setup = async (isLoggedIn = false, loginFailedMessage = '') => {
120
120
  jest.spyOn(window, 'addEventListener').mockImplementationOnce((event, handler, options) => {
121
121
  handler({
122
122
  data: {
@@ -127,24 +127,35 @@ describe('Unit test case for ts embed', () => {
127
127
  });
128
128
  });
129
129
  const iFrame = document.createElement('div');
130
- jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValueOnce(() => Promise.resolve());
131
- const tsEmbed = new SearchEmbed(getRootEl(), {});
130
+ jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValueOnce(isLoggedIn);
131
+ const tsEmbed = new SearchEmbed(getRootEl(), {
132
+ loginFailedMessage,
133
+ });
132
134
  iFrame.contentWindow = null;
133
135
  tsEmbed.on(EmbedEvent.CustomAction, jest.fn());
134
136
  jest.spyOn(iFrame, 'addEventListener').mockImplementationOnce((event, handler, options) => {
135
137
  handler({});
136
138
  });
137
139
  jest.spyOn(document, 'createElement').mockReturnValueOnce(iFrame);
138
- tsEmbed.render();
139
- });
140
- test('mixpanel should call with VISUAL_SDK_RENDER_COMPLETE', () => {
140
+ await tsEmbed.render();
141
+ };
142
+ test('mixpanel should call with VISUAL_SDK_RENDER_COMPLETE', async () => {
143
+ await setup(true);
141
144
  expect(mockMixPanelEvent).toBeCalledWith(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
142
145
  expect(mockMixPanelEvent).toBeCalledWith(MIXPANEL_EVENT.VISUAL_SDK_RENDER_COMPLETE);
143
146
  });
144
147
  test('Should remove prefetch iframe', async () => {
148
+ await setup(true);
145
149
  const prefetchIframe = document.querySelectorAll('.prefetchIframe');
146
150
  expect(prefetchIframe.length).toBe(0);
147
151
  });
152
+ test('Should render failure when login fails', async (done) => {
153
+ setup(false, 'Failed to Login');
154
+ executeAfterWait(() => {
155
+ expect(getRootEl().innerHTML).toContain('Failed to Login');
156
+ done();
157
+ });
158
+ });
148
159
  });
149
160
  describe('when thoughtSpotHost have value and authPromise return error', () => {
150
161
  beforeAll(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-embed.spec.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-embed.spec.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  import { EndPoints } from '../auth';
3
3
  function failureLoggedFetch(url, options = {}) {
4
4
  return fetch(url, options).then(async (r) => {
5
- if (!r.ok) {
6
- console.error('Failure', await r.json());
5
+ if (!r.ok && r.type !== 'opaqueredirect') {
6
+ console.error('Failure', await r.text());
7
7
  }
8
8
  return r;
9
9
  });
@@ -11,7 +11,6 @@ function failureLoggedFetch(url, options = {}) {
11
11
  export function fetchSessionInfoService(authVerificationUrl) {
12
12
  return failureLoggedFetch(authVerificationUrl, {
13
13
  credentials: 'include',
14
- redirect: 'manual',
15
14
  });
16
15
  }
17
16
  export async function fetchAuthTokenService(authEndpoint) {
@@ -20,8 +19,8 @@ export async function fetchAuthTokenService(authEndpoint) {
20
19
  export async function fetchAuthService(thoughtSpotHost, username, authToken) {
21
20
  return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
22
21
  credentials: 'include',
23
- }).catch((e) => {
24
- console.error(e);
22
+ // We do not want to follow the redirect, as it starts giving a CORS error
23
+ redirect: 'manual',
25
24
  });
26
25
  }
27
26
  export async function fetchBasicAuthService(thoughtSpotHost, username, password) {
@@ -1 +1 @@
1
- {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,SAAS,kBAAkB,CACvB,GAAW,EACX,UAAuB,EAAE;IAEzB,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,mBAA2B;IAE3B,OAAO,kBAAkB,CAAC,mBAAmB,EAAE;QAC3C,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,QAAQ;KACrB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,YAAoB;IAEpB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,kBAAkB,CACrB,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,aAAa,QAAQ,eAAe,SAAS,EAAE,EACzF;QACI,WAAW,EAAE,SAAS;KACzB,CACJ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,eAAuB,EACvB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;YACnD,gBAAgB,EAAE,aAAa;SAClC;QACD,IAAI,EAAE,YAAY,kBAAkB,CAChC,QAAQ,CACX,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC5C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,SAAS,kBAAkB,CACvB,GAAW,EACX,UAAuB,EAAE;IAEzB,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACtC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,mBAA2B;IAE3B,OAAO,kBAAkB,CAAC,mBAAmB,EAAE;QAC3C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,YAAoB;IAEpB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,kBAAkB,CACrB,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,aAAa,QAAQ,eAAe,SAAS,EAAE,EACzF;QACI,WAAW,EAAE,SAAS;QACtB,0EAA0E;QAC1E,QAAQ,EAAE,QAAQ;KACrB,CACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,eAAuB,EACvB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;YACnD,gBAAgB,EAAE,aAAa;SAClC;QACD,IAAI,EAAE,YAAY,kBAAkB,CAChC,QAAQ,CACX,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC5C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { fetchSessionInfoService, fetchAuthTokenService, fetchAuthService, fetchBasicAuthService, } from './authService';
2
+ import { EndPoints } from '../auth';
2
3
  const thoughtSpotHost = 'http://10.79.135.124:3000';
3
4
  const authVerificationUrl = 'http://localhost:3000';
4
5
  const authEndpoint = '';
@@ -31,9 +32,12 @@ describe('Unit test for authService', () => {
31
32
  test('fetchAuthService', async () => {
32
33
  global.fetch = jest.fn(() => Promise.resolve({ success: true, ok: true }));
33
34
  await fetchAuthService(authVerificationUrl, username, authToken);
34
- expect(fetch).toBeCalled();
35
+ expect(fetch).toBeCalledWith(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
36
+ credentials: 'include',
37
+ redirect: 'manual',
38
+ });
35
39
  });
36
- test('fetchBasicAuthService', async () => {
40
+ test('fetchBasicAuthService called with manual redirect', async () => {
37
41
  global.fetch = jest.fn(() => Promise.resolve({ success: true, ok: true }));
38
42
  await fetchBasicAuthService(thoughtSpotHost, username, password);
39
43
  expect(fetch).toBeCalled();
@@ -1 +1 @@
1
- {"version":3,"file":"authService.spec.js","sourceRoot":"","sources":["../../../src/utils/authService.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,eAAe,CAAC;AAEvB,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC;YACZ,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG;YACX,EAAE,EAAE,IAAI;SACX,CAAC,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC;YACZ,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC/B,EAAE,EAAE,IAAI;SACX,CAAC,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;QACF,MAAM,gBAAgB,CAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;QACF,MAAM,qBAAqB,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"authService.spec.js","sourceRoot":"","sources":["../../../src/utils/authService.spec.ts"],"names":[],"mappings":"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"}
@@ -1188,6 +1188,11 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
1188
1188
  * @version 1.9.4 or later
1189
1189
  */
1190
1190
  locale?: string;
1191
+ /**
1192
+ * This message is displayed on the embed view when the login fails.
1193
+ * @version 1.10.1 | ThoughtSpot: *
1194
+ */
1195
+ loginFailedMessage?: string;
1191
1196
  /**
1192
1197
  * This is an object (key/val) of override flags which will be applied
1193
1198
  * to the internal embedded object. This can be used to add any
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.11.0-auth.3",
3
+ "version": "1.11.0-auth.6",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
package/src/auth.ts CHANGED
@@ -58,6 +58,17 @@ export function initSession(sessionDetails: any) {
58
58
  initMixpanel(sessionInfo);
59
59
  }
60
60
 
61
+ const DUPLICATE_TOKEN_ERR =
62
+ 'Duplicate token, please issue a new token every time getAuthToken callback is called.' +
63
+ 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
64
+ let prevAuthToken: string = null;
65
+ function alertForDuplicateToken(authtoken: string) {
66
+ if (prevAuthToken === authtoken) {
67
+ alert(DUPLICATE_TOKEN_ERR);
68
+ }
69
+ prevAuthToken = authtoken;
70
+ }
71
+
61
72
  /**
62
73
  * Check if we are stuck at the SSO redirect URL
63
74
  */
@@ -102,6 +113,8 @@ export const doTokenAuth = async (
102
113
  let authToken = null;
103
114
  if (getAuthToken) {
104
115
  authToken = await getAuthToken();
116
+ alertForDuplicateToken(authToken);
117
+ throw new Error(DUPLICATE_TOKEN_ERR);
105
118
  } else {
106
119
  const response = await fetchAuthTokenService(authEndpoint);
107
120
  authToken = await response.text();
@@ -111,7 +124,8 @@ export const doTokenAuth = async (
111
124
  username,
112
125
  authToken,
113
126
  );
114
- loggedInStatus = resp.status === 200;
127
+ // token login issues a 302 when successful
128
+ loggedInStatus = resp.ok || resp.type === 'opaqueredirect';
115
129
  } else {
116
130
  loggedInStatus = true;
117
131
  }
@@ -137,7 +151,7 @@ export const doBasicAuth = async (
137
151
  username,
138
152
  password,
139
153
  );
140
- loggedInStatus = response.status === 200;
154
+ loggedInStatus = response.ok;
141
155
  } else {
142
156
  loggedInStatus = true;
143
157
  }
@@ -165,7 +165,7 @@ describe('Unit test case for ts embed', () => {
165
165
  });
166
166
  });
167
167
 
168
- describe('when thoughtSpotHost have value and authPromise return success response', () => {
168
+ describe('when thoughtSpotHost have value and authPromise return response true/false', () => {
169
169
  beforeAll(() => {
170
170
  init({
171
171
  thoughtSpotHost,
@@ -173,7 +173,7 @@ describe('Unit test case for ts embed', () => {
173
173
  });
174
174
  });
175
175
 
176
- beforeEach(() => {
176
+ const setup = async (isLoggedIn = false, loginFailedMessage = '') => {
177
177
  jest.spyOn(window, 'addEventListener').mockImplementationOnce(
178
178
  (event, handler, options) => {
179
179
  handler({
@@ -186,11 +186,12 @@ describe('Unit test case for ts embed', () => {
186
186
  },
187
187
  );
188
188
  const iFrame: any = document.createElement('div');
189
- jest.spyOn(
190
- baseInstance,
191
- 'getAuthPromise',
192
- ).mockResolvedValueOnce(() => Promise.resolve());
193
- const tsEmbed = new SearchEmbed(getRootEl(), {});
189
+ jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValueOnce(
190
+ isLoggedIn,
191
+ );
192
+ const tsEmbed = new SearchEmbed(getRootEl(), {
193
+ loginFailedMessage,
194
+ });
194
195
  iFrame.contentWindow = null;
195
196
  tsEmbed.on(EmbedEvent.CustomAction, jest.fn());
196
197
  jest.spyOn(iFrame, 'addEventListener').mockImplementationOnce(
@@ -199,10 +200,11 @@ describe('Unit test case for ts embed', () => {
199
200
  },
200
201
  );
201
202
  jest.spyOn(document, 'createElement').mockReturnValueOnce(iFrame);
202
- tsEmbed.render();
203
- });
203
+ await tsEmbed.render();
204
+ };
204
205
 
205
- test('mixpanel should call with VISUAL_SDK_RENDER_COMPLETE', () => {
206
+ test('mixpanel should call with VISUAL_SDK_RENDER_COMPLETE', async () => {
207
+ await setup(true);
206
208
  expect(mockMixPanelEvent).toBeCalledWith(
207
209
  MIXPANEL_EVENT.VISUAL_SDK_RENDER_START,
208
210
  );
@@ -212,11 +214,20 @@ describe('Unit test case for ts embed', () => {
212
214
  });
213
215
 
214
216
  test('Should remove prefetch iframe', async () => {
217
+ await setup(true);
215
218
  const prefetchIframe = document.querySelectorAll<HTMLIFrameElement>(
216
219
  '.prefetchIframe',
217
220
  );
218
221
  expect(prefetchIframe.length).toBe(0);
219
222
  });
223
+
224
+ test('Should render failure when login fails', async (done) => {
225
+ setup(false, 'Failed to Login');
226
+ executeAfterWait(() => {
227
+ expect(getRootEl().innerHTML).toContain('Failed to Login');
228
+ done();
229
+ });
230
+ });
220
231
  });
221
232
 
222
233
  describe('when thoughtSpotHost have value and authPromise return error', () => {
@@ -134,6 +134,11 @@ export interface ViewConfig {
134
134
  * @version 1.9.4 or later
135
135
  */
136
136
  locale?: string;
137
+ /**
138
+ * This message is displayed on the embed view when the login fails.
139
+ * @version 1.10.1 | ThoughtSpot: *
140
+ */
141
+ loginFailedMessage?: string;
137
142
  /**
138
143
  * This is an object (key/val) of override flags which will be applied
139
144
  * to the internal embedded object. This can be used to add any
@@ -216,7 +221,7 @@ export class TsEmbed {
216
221
  this.on(EmbedEvent.NoCookieAccess, () => {
217
222
  // eslint-disable-next-line no-alert
218
223
  alert(
219
- 'Third party cookie access is blocked on this browser, please allow third party cookies for ThoughtSpot to work properly',
224
+ 'Third party cookie access is blocked on this browser, please allow third party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.',
220
225
  );
221
226
  });
222
227
  }
@@ -250,7 +255,7 @@ export class TsEmbed {
250
255
  error,
251
256
  });
252
257
  // Log error
253
- console.log(error);
258
+ console.error(error);
254
259
  }
255
260
 
256
261
  /**
@@ -466,7 +471,9 @@ export class TsEmbed {
466
471
  getAuthPromise()
467
472
  ?.then((isLoggedIn: boolean) => {
468
473
  if (!isLoggedIn) {
469
- this.el.innerHTML = 'Login failed';
474
+ this.el.innerHTML =
475
+ this.viewConfig.loginFailedMessage ||
476
+ 'Login failed';
470
477
  return;
471
478
  }
472
479
 
@@ -541,6 +548,8 @@ export class TsEmbed {
541
548
  uploadMixpanelEvent(
542
549
  MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED,
543
550
  );
551
+ this.el.innerHTML =
552
+ this.viewConfig.loginFailedMessage || 'Login failed';
544
553
  this.handleError(error);
545
554
  });
546
555
  });
@@ -4,6 +4,7 @@ import {
4
4
  fetchAuthService,
5
5
  fetchBasicAuthService,
6
6
  } from './authService';
7
+ import { EndPoints } from '../auth';
7
8
 
8
9
  const thoughtSpotHost = 'http://10.79.135.124:3000';
9
10
 
@@ -46,10 +47,16 @@ describe('Unit test for authService', () => {
46
47
  Promise.resolve({ success: true, ok: true }),
47
48
  );
48
49
  await fetchAuthService(authVerificationUrl, username, authToken);
49
- expect(fetch).toBeCalled();
50
+ expect(fetch).toBeCalledWith(
51
+ `${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`,
52
+ {
53
+ credentials: 'include',
54
+ redirect: 'manual',
55
+ },
56
+ );
50
57
  });
51
58
 
52
- test('fetchBasicAuthService', async () => {
59
+ test('fetchBasicAuthService called with manual redirect', async () => {
53
60
  global.fetch = jest.fn(() =>
54
61
  Promise.resolve({ success: true, ok: true }),
55
62
  );
@@ -6,8 +6,8 @@ function failureLoggedFetch(
6
6
  options: RequestInit = {},
7
7
  ): Promise<Response> {
8
8
  return fetch(url, options).then(async (r) => {
9
- if (!r.ok) {
10
- console.error('Failure', await r.json());
9
+ if (!r.ok && r.type !== 'opaqueredirect') {
10
+ console.error('Failure', await r.text());
11
11
  }
12
12
  return r;
13
13
  });
@@ -18,7 +18,6 @@ export function fetchSessionInfoService(
18
18
  ): Promise<any> {
19
19
  return failureLoggedFetch(authVerificationUrl, {
20
20
  credentials: 'include',
21
- redirect: 'manual',
22
21
  });
23
22
  }
24
23
 
@@ -37,10 +36,10 @@ export async function fetchAuthService(
37
36
  `${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`,
38
37
  {
39
38
  credentials: 'include',
39
+ // We do not want to follow the redirect, as it starts giving a CORS error
40
+ redirect: 'manual',
40
41
  },
41
- ).catch((e) => {
42
- console.error(e);
43
- });
42
+ );
44
43
  }
45
44
 
46
45
  export async function fetchBasicAuthService(