@thoughtspot/visual-embed-sdk 1.11.0-auth.14 → 1.11.0-auth.17
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.
- package/CHANGELOG.md +13 -0
- package/dist/src/embed/base.d.ts +15 -1
- package/dist/src/types.d.ts +9 -0
- package/dist/src/utils.d.ts +1 -0
- package/dist/tsembed.es.js +26 -6
- package/dist/tsembed.js +26 -6
- package/lib/package.json +1 -1
- package/lib/src/auth.js +3 -3
- package/lib/src/auth.js.map +1 -1
- package/lib/src/embed/base.d.ts +15 -1
- package/lib/src/embed/base.js +16 -2
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js +3 -1
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/types.d.ts +9 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService.js +3 -1
- package/lib/src/utils/authService.js.map +1 -1
- package/lib/src/utils.d.ts +1 -0
- package/lib/src/utils.js +4 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +14 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +24 -1
- package/package.json +1 -1
- package/src/auth.ts +11 -3
- package/src/embed/base.spec.ts +3 -1
- package/src/embed/base.ts +16 -2
- package/src/types.ts +10 -0
- package/src/utils/authService.ts +3 -1
- package/src/utils.spec.ts +26 -0
- package/src/utils.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ This project follows Semantic Versioning.
|
|
|
7
7
|
|
|
8
8
|
### New Features
|
|
9
9
|
- Events for all actions on Search Embed
|
|
10
|
+
|
|
11
|
+
## 1.10.2 (05-01-2022)
|
|
12
|
+
- Ability to configure `redirectPath` on the origin when using SSO auth. [Ref doc](https://developers.thoughtspot.com/docs/typedoc/interfaces/EmbedConfig.html#redirectPath)
|
|
13
|
+
|
|
14
|
+
## 1.10.1 (05-01-2022)
|
|
15
|
+
|
|
16
|
+
### New features
|
|
17
|
+
- `logout` method exposed from the SDK. This can be used to log the user out. [Ref doc](https://developers.thoughtspot.com/docs/typedoc/modules.html#logout)
|
|
18
|
+
|
|
19
|
+
### Updated
|
|
20
|
+
- When login fails the user is presented with a `Not logged in` message, which is configurable using `loginFailedMessage` property on `init`. [Ref doc](https://developers.thoughtspot.com/docs/typedoc/interfaces/EmbedConfig.html#loginFailedMessage)
|
|
21
|
+
- `init` now returns a event emitter which can be used to listen to Login `failures` and `success`. [Ref doc](https://developers.thoughtspot.com/docs/typedoc/modules.html#init)
|
|
22
|
+
|
|
10
23
|
## 1.10.0 (04-22-2022)
|
|
11
24
|
|
|
12
25
|
- Release to support TS version 8.2.0.cl
|
package/dist/src/embed/base.d.ts
CHANGED
|
@@ -30,10 +30,24 @@ export declare const prefetch: (url?: string) => void;
|
|
|
30
30
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
31
31
|
* authentication mechanism and so on.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* eg: authStatus = init(config);
|
|
34
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
35
|
+
*
|
|
36
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
34
37
|
*/
|
|
35
38
|
export declare const init: (embedConfig: EmbedConfig) => EventEmitter;
|
|
36
39
|
export declare function disableAutoLogin(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
42
|
+
* the SDK from automatically logging in again.
|
|
43
|
+
*
|
|
44
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
45
|
+
* second call it will be honored.
|
|
46
|
+
*
|
|
47
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
48
|
+
* @returns Promise which resolves when logout completes.
|
|
49
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
50
|
+
*/
|
|
37
51
|
export declare const logout: (doNotDisableAutoLogin?: boolean) => Promise<boolean>;
|
|
38
52
|
/**
|
|
39
53
|
* Renders functions in a queue, resolves to next function only after the callback next is called
|
package/dist/src/types.d.ts
CHANGED
|
@@ -90,6 +90,15 @@ export interface EmbedConfig {
|
|
|
90
90
|
* @default false
|
|
91
91
|
*/
|
|
92
92
|
noRedirect?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* [SSO] For SSO Authentication, one can supply an optional path param,
|
|
95
|
+
* this will be the path on the host origin where the SAML flow will be
|
|
96
|
+
* terminated.
|
|
97
|
+
*
|
|
98
|
+
* Eg: "/dashboard", "#/foo" [Do not include the host]
|
|
99
|
+
* @version SDK: 1.10.2 | ThoughtSpot: *
|
|
100
|
+
*/
|
|
101
|
+
redirectPath?: string;
|
|
93
102
|
/** @internal */
|
|
94
103
|
basepath?: string;
|
|
95
104
|
/**
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare const getCssDimension: (value: number | string) => string;
|
|
|
32
32
|
* @param stringToAppend The string to append to the URL hash
|
|
33
33
|
*/
|
|
34
34
|
export declare const appendToUrlHash: (url: string, stringToAppend: string) => string;
|
|
35
|
+
export declare function getRedirectUrl(url: string, stringToAppend: string, path?: string): string;
|
|
35
36
|
export declare const getEncodedQueryParamsString: (queryString: string) => string;
|
|
36
37
|
export declare const getOffsetTop: (element: any) => any;
|
|
37
38
|
export declare const embedEventStatus: {
|
package/dist/tsembed.es.js
CHANGED
|
@@ -96,6 +96,10 @@ const appendToUrlHash = (url, stringToAppend) => {
|
|
|
96
96
|
}
|
|
97
97
|
return outputUrl;
|
|
98
98
|
};
|
|
99
|
+
function getRedirectUrl(url, stringToAppend, path = '') {
|
|
100
|
+
const targetUrl = path ? new URL(path, window.location.origin).href : url;
|
|
101
|
+
return appendToUrlHash(targetUrl, stringToAppend);
|
|
102
|
+
}
|
|
99
103
|
const getEncodedQueryParamsString = (queryString) => {
|
|
100
104
|
if (!queryString) {
|
|
101
105
|
return queryString;
|
|
@@ -9078,8 +9082,10 @@ async function fetchBasicAuthService(thoughtSpotHost, username, password) {
|
|
|
9078
9082
|
async function fetchLogoutService(thoughtSpotHost) {
|
|
9079
9083
|
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.LOGOUT}`, {
|
|
9080
9084
|
credentials: 'include',
|
|
9081
|
-
mode: 'no-cors',
|
|
9082
9085
|
method: 'POST',
|
|
9086
|
+
headers: {
|
|
9087
|
+
'x-requested-by': 'ThoughtSpot',
|
|
9088
|
+
},
|
|
9083
9089
|
});
|
|
9084
9090
|
}
|
|
9085
9091
|
|
|
@@ -9264,7 +9270,7 @@ const doSamlAuth = async (embedConfig) => {
|
|
|
9264
9270
|
// again and the same JS will execute again.
|
|
9265
9271
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
9266
9272
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
9267
|
-
:
|
|
9273
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
9268
9274
|
// bring back the page to the same URL
|
|
9269
9275
|
const ssoEndPoint = `${EndPoints.SAML_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
9270
9276
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
|
@@ -9276,7 +9282,7 @@ const doOIDCAuth = async (embedConfig) => {
|
|
|
9276
9282
|
// again and the same JS will execute again.
|
|
9277
9283
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
9278
9284
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
9279
|
-
:
|
|
9285
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
9280
9286
|
// bring back the page to the same URL
|
|
9281
9287
|
const ssoEndPoint = `${EndPoints.OIDC_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
9282
9288
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
|
@@ -9311,7 +9317,7 @@ const authenticate = async (embedConfig) => {
|
|
|
9311
9317
|
/* eslint-disable import/no-mutable-exports */
|
|
9312
9318
|
let config = {};
|
|
9313
9319
|
const CONFIG_DEFAULTS = {
|
|
9314
|
-
loginFailedMessage: '
|
|
9320
|
+
loginFailedMessage: 'Not logged in',
|
|
9315
9321
|
authType: AuthType.None,
|
|
9316
9322
|
};
|
|
9317
9323
|
let authPromise;
|
|
@@ -9378,7 +9384,10 @@ const prefetch = (url) => {
|
|
|
9378
9384
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
9379
9385
|
* authentication mechanism and so on.
|
|
9380
9386
|
*
|
|
9381
|
-
*
|
|
9387
|
+
* eg: authStatus = init(config);
|
|
9388
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
9389
|
+
*
|
|
9390
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
9382
9391
|
*/
|
|
9383
9392
|
const init = (embedConfig) => {
|
|
9384
9393
|
config = {
|
|
@@ -9400,6 +9409,17 @@ const init = (embedConfig) => {
|
|
|
9400
9409
|
function disableAutoLogin() {
|
|
9401
9410
|
config.autoLogin = false;
|
|
9402
9411
|
}
|
|
9412
|
+
/**
|
|
9413
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
9414
|
+
* the SDK from automatically logging in again.
|
|
9415
|
+
*
|
|
9416
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
9417
|
+
* second call it will be honored.
|
|
9418
|
+
*
|
|
9419
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
9420
|
+
* @returns Promise which resolves when logout completes.
|
|
9421
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
9422
|
+
*/
|
|
9403
9423
|
const logout$1 = (doNotDisableAutoLogin = false) => {
|
|
9404
9424
|
if (!doNotDisableAutoLogin) {
|
|
9405
9425
|
disableAutoLogin();
|
|
@@ -9578,7 +9598,7 @@ function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
|
|
|
9578
9598
|
}
|
|
9579
9599
|
}
|
|
9580
9600
|
|
|
9581
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.
|
|
9601
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.17";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",eventemitter3:"^4.0.7","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};
|
|
9582
9602
|
|
|
9583
9603
|
/**
|
|
9584
9604
|
* Copyright (c) 2022
|
package/dist/tsembed.js
CHANGED
|
@@ -102,6 +102,10 @@
|
|
|
102
102
|
}
|
|
103
103
|
return outputUrl;
|
|
104
104
|
};
|
|
105
|
+
function getRedirectUrl(url, stringToAppend, path = '') {
|
|
106
|
+
const targetUrl = path ? new URL(path, window.location.origin).href : url;
|
|
107
|
+
return appendToUrlHash(targetUrl, stringToAppend);
|
|
108
|
+
}
|
|
105
109
|
const getEncodedQueryParamsString = (queryString) => {
|
|
106
110
|
if (!queryString) {
|
|
107
111
|
return queryString;
|
|
@@ -9047,8 +9051,10 @@
|
|
|
9047
9051
|
async function fetchLogoutService(thoughtSpotHost) {
|
|
9048
9052
|
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.LOGOUT}`, {
|
|
9049
9053
|
credentials: 'include',
|
|
9050
|
-
mode: 'no-cors',
|
|
9051
9054
|
method: 'POST',
|
|
9055
|
+
headers: {
|
|
9056
|
+
'x-requested-by': 'ThoughtSpot',
|
|
9057
|
+
},
|
|
9052
9058
|
});
|
|
9053
9059
|
}
|
|
9054
9060
|
|
|
@@ -9231,7 +9237,7 @@
|
|
|
9231
9237
|
// again and the same JS will execute again.
|
|
9232
9238
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
9233
9239
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
9234
|
-
:
|
|
9240
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
9235
9241
|
// bring back the page to the same URL
|
|
9236
9242
|
const ssoEndPoint = `${EndPoints.SAML_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
9237
9243
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
|
@@ -9243,7 +9249,7 @@
|
|
|
9243
9249
|
// again and the same JS will execute again.
|
|
9244
9250
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
9245
9251
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
9246
|
-
:
|
|
9252
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
9247
9253
|
// bring back the page to the same URL
|
|
9248
9254
|
const ssoEndPoint = `${EndPoints.OIDC_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
9249
9255
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
|
@@ -9278,7 +9284,7 @@
|
|
|
9278
9284
|
/* eslint-disable import/no-mutable-exports */
|
|
9279
9285
|
let config = {};
|
|
9280
9286
|
const CONFIG_DEFAULTS = {
|
|
9281
|
-
loginFailedMessage: '
|
|
9287
|
+
loginFailedMessage: 'Not logged in',
|
|
9282
9288
|
authType: exports.AuthType.None,
|
|
9283
9289
|
};
|
|
9284
9290
|
let authPromise;
|
|
@@ -9345,7 +9351,10 @@
|
|
|
9345
9351
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
9346
9352
|
* authentication mechanism and so on.
|
|
9347
9353
|
*
|
|
9348
|
-
*
|
|
9354
|
+
* eg: authStatus = init(config);
|
|
9355
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
9356
|
+
*
|
|
9357
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
9349
9358
|
*/
|
|
9350
9359
|
const init = (embedConfig) => {
|
|
9351
9360
|
config = {
|
|
@@ -9367,6 +9376,17 @@
|
|
|
9367
9376
|
function disableAutoLogin() {
|
|
9368
9377
|
config.autoLogin = false;
|
|
9369
9378
|
}
|
|
9379
|
+
/**
|
|
9380
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
9381
|
+
* the SDK from automatically logging in again.
|
|
9382
|
+
*
|
|
9383
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
9384
|
+
* second call it will be honored.
|
|
9385
|
+
*
|
|
9386
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
9387
|
+
* @returns Promise which resolves when logout completes.
|
|
9388
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
9389
|
+
*/
|
|
9370
9390
|
const logout$1 = (doNotDisableAutoLogin = false) => {
|
|
9371
9391
|
if (!doNotDisableAutoLogin) {
|
|
9372
9392
|
disableAutoLogin();
|
|
@@ -9545,7 +9565,7 @@
|
|
|
9545
9565
|
}
|
|
9546
9566
|
}
|
|
9547
9567
|
|
|
9548
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.
|
|
9568
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.11.0-auth.17";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",eventemitter3:"^4.0.7","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};
|
|
9549
9569
|
|
|
9550
9570
|
/**
|
|
9551
9571
|
* Copyright (c) 2022
|
package/lib/package.json
CHANGED
package/lib/src/auth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { initMixpanel } from './mixpanel-service';
|
|
2
2
|
import { AuthType, EmbedEvent } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { getRedirectUrl } from './utils';
|
|
4
4
|
// eslint-disable-next-line import/no-cycle
|
|
5
5
|
import { fetchSessionInfoService, fetchAuthTokenService, fetchAuthService, fetchBasicAuthService, fetchLogoutService, } from './utils/authService';
|
|
6
6
|
// eslint-disable-next-line import/no-mutable-exports
|
|
@@ -190,7 +190,7 @@ export const doSamlAuth = async (embedConfig) => {
|
|
|
190
190
|
// again and the same JS will execute again.
|
|
191
191
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
192
192
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
193
|
-
:
|
|
193
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
194
194
|
// bring back the page to the same URL
|
|
195
195
|
const ssoEndPoint = `${EndPoints.SAML_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
196
196
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
|
@@ -202,7 +202,7 @@ export const doOIDCAuth = async (embedConfig) => {
|
|
|
202
202
|
// again and the same JS will execute again.
|
|
203
203
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
204
204
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
205
|
-
:
|
|
205
|
+
: getRedirectUrl(window.location.href, SSO_REDIRECTION_MARKER_GUID, embedConfig.redirectPath);
|
|
206
206
|
// bring back the page to the same URL
|
|
207
207
|
const ssoEndPoint = `${EndPoints.OIDC_LOGIN_TEMPLATE(encodeURIComponent(ssoRedirectUrl))}`;
|
|
208
208
|
await doSSOAuth(embedConfig, ssoEndPoint);
|
package/lib/src/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/lib/src/embed/base.d.ts
CHANGED
|
@@ -30,10 +30,24 @@ export declare const prefetch: (url?: string) => void;
|
|
|
30
30
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
31
31
|
* authentication mechanism and so on.
|
|
32
32
|
*
|
|
33
|
-
*
|
|
33
|
+
* eg: authStatus = init(config);
|
|
34
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
35
|
+
*
|
|
36
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
34
37
|
*/
|
|
35
38
|
export declare const init: (embedConfig: EmbedConfig) => EventEmitter;
|
|
36
39
|
export declare function disableAutoLogin(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
42
|
+
* the SDK from automatically logging in again.
|
|
43
|
+
*
|
|
44
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
45
|
+
* second call it will be honored.
|
|
46
|
+
*
|
|
47
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
48
|
+
* @returns Promise which resolves when logout completes.
|
|
49
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
50
|
+
*/
|
|
37
51
|
export declare const logout: (doNotDisableAutoLogin?: boolean) => Promise<boolean>;
|
|
38
52
|
/**
|
|
39
53
|
* Renders functions in a queue, resolves to next function only after the callback next is called
|
package/lib/src/embed/base.js
CHANGED
|
@@ -14,7 +14,7 @@ import { authenticate, logout as _logout, AuthFailureType, AuthStatus, } from '.
|
|
|
14
14
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from '../mixpanel-service';
|
|
15
15
|
let config = {};
|
|
16
16
|
const CONFIG_DEFAULTS = {
|
|
17
|
-
loginFailedMessage: '
|
|
17
|
+
loginFailedMessage: 'Not logged in',
|
|
18
18
|
authType: AuthType.None,
|
|
19
19
|
};
|
|
20
20
|
export let authPromise;
|
|
@@ -81,7 +81,10 @@ export const prefetch = (url) => {
|
|
|
81
81
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
82
82
|
* authentication mechanism and so on.
|
|
83
83
|
*
|
|
84
|
-
*
|
|
84
|
+
* eg: authStatus = init(config);
|
|
85
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
86
|
+
*
|
|
87
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
85
88
|
*/
|
|
86
89
|
export const init = (embedConfig) => {
|
|
87
90
|
config = {
|
|
@@ -103,6 +106,17 @@ export const init = (embedConfig) => {
|
|
|
103
106
|
export function disableAutoLogin() {
|
|
104
107
|
config.autoLogin = false;
|
|
105
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
111
|
+
* the SDK from automatically logging in again.
|
|
112
|
+
*
|
|
113
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
114
|
+
* second call it will be honored.
|
|
115
|
+
*
|
|
116
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
117
|
+
* @returns Promise which resolves when logout completes.
|
|
118
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
119
|
+
*/
|
|
106
120
|
export const logout = (doNotDisableAutoLogin = false) => {
|
|
107
121
|
if (!doNotDisableAutoLogin) {
|
|
108
122
|
disableAutoLogin();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/embed/base.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C;;;;;;;GAOG;AACH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AACjD,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,OAAO,EACjB,eAAe,EACf,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1E,IAAI,MAAM,GAAG,EAAiB,CAAC;AAC/B,MAAM,eAAe,GAAyB;IAC1C,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/embed/base.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C;;;;;;;GAOG;AACH,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AACjD,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,OAAO,EACjB,eAAe,EACf,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1E,IAAI,MAAM,GAAG,EAAiB,CAAC;AAC/B,MAAM,eAAe,GAAyB;IAC1C,kBAAkB,EAAE,eAAe;IACnC,QAAQ,EAAE,QAAQ,CAAC,IAAI;CAC1B,CAAC;AAEF,MAAM,CAAC,IAAI,WAA6B,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAgB,EAAE,CAAC,MAAM,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAqB,EAAE,CAAC,WAAW,CAAC;AAElE,IAAI,MAAoB,CAAC;AAEzB,MAAM,UAAU,iBAAiB;IAC7B,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;KACV;IACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA4B;IAC1D,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;KACV;IACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY;IACxB,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;KACV;IACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AACD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAqB,EAAE;IAC7C,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,IAAI,CACZ,CAAC,UAAU,EAAE,EAAE;QACX,IAAI,CAAC,UAAU,EAAE;YACb,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC1C;IACL,CAAC,EACD,GAAG,EAAE;QACD,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CACJ,CAAC;IACF,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAQ,EAAE;IAC3C,IAAI,GAAG,KAAK,EAAE,EAAE;QACZ,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;KACjE;SAAM;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAC1B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACrC;AACL,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,WAAwB,EAAgB,EAAE;IAC3D,MAAM,GAAG;QACL,GAAG,eAAe;QAClB,GAAG,WAAW;QACd,eAAe,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACnD,CAAC;IACF,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAC5B,UAAU,EAAE,CAAC;IAEb,mBAAmB,CAAC,cAAc,CAAC,sBAAsB,EAAE;QACvD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,eAAe;KAC/B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KACpC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,qBAAqB,GAAG,KAAK,EAAoB,EAAE;IACtE,IAAI,CAAC,qBAAqB,EAAE;QACxB,gBAAgB,EAAE,CAAC;KACtB;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QACvC,YAAY,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,WAAW,GAAiB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAwC,EAAE,EAAE;IACtE,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IAC7C,IAAI,iBAAiB,EAAE;QACnB,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvE;SAAM;QACH,wEAAwE;QACxE,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,2DAA2D;KAC5E;AACL,CAAC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,UAAU,KAAK;IACjB,MAAM,GAAG,EAAS,CAAC;IACnB,MAAM,GAAG,IAAI,CAAC;IACd,WAAW,GAAG,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -96,7 +96,9 @@ describe('Base TS Embed', () => {
|
|
|
96
96
|
index.logout();
|
|
97
97
|
expect(window.fetch).toHaveBeenCalledWith(`http://${thoughtSpotHost}${auth.EndPoints.LOGOUT}`, {
|
|
98
98
|
credentials: 'include',
|
|
99
|
-
|
|
99
|
+
headers: {
|
|
100
|
+
'x-requested-by': 'ThoughtSpot',
|
|
101
|
+
},
|
|
100
102
|
method: 'POST',
|
|
101
103
|
});
|
|
102
104
|
expect(base.getEmbedConfig().autoLogin).toBe(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.spec.js","sourceRoot":"","sources":["../../../src/embed/base.spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,SAAS,EAET,YAAY,GACf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,IAAI,MAAoB,CAAC;AAEzB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;YAChB,eAAe;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;SAChC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5E,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAQ,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B;;WAEG;QACH,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,WAAW,CACd;YACI,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;SAC1C,EACD,GAAG,CACN,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAC/B,yLAAyL,CAC5L,CAAC;YACF,IAAI,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAC5C,iBAAiB,CACpB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAsB,cAAc,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAC5C,iBAAiB,CACpB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC;YACP,eAAe;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC7B,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,KAAK,CAAC,IAAI,CAAC;YACP,eAAe;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC7B,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,eAAe;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;YAC9B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM;SACnB,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,iBAAiB,CAAC;YAC1C,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC;YACP,eAAe;YACf,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC7B,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CACrC,UAAU,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EACnD;YACI,WAAW,EAAE,SAAS;YACtB,
|
|
1
|
+
{"version":3,"file":"base.spec.js","sourceRoot":"","sources":["../../../src/embed/base.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/src/types.d.ts
CHANGED
|
@@ -90,6 +90,15 @@ export interface EmbedConfig {
|
|
|
90
90
|
* @default false
|
|
91
91
|
*/
|
|
92
92
|
noRedirect?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* [SSO] For SSO Authentication, one can supply an optional path param,
|
|
95
|
+
* this will be the path on the host origin where the SAML flow will be
|
|
96
|
+
* terminated.
|
|
97
|
+
*
|
|
98
|
+
* Eg: "/dashboard", "#/foo" [Do not include the host]
|
|
99
|
+
* @version SDK: 1.10.2 | ThoughtSpot: *
|
|
100
|
+
*/
|
|
101
|
+
redirectPath?: string;
|
|
93
102
|
/** @internal */
|
|
94
103
|
basepath?: string;
|
|
95
104
|
/**
|
package/lib/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,qCAAqC;AACrC,MAAM,CAAN,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAChB;;OAEG;IACH,yBAAa,CAAA;IACb;;OAEG;IACH,4BAAgB,CAAA;IAChB;;OAEG;IACH,6BAAiB,CAAA;IACjB;;OAEG;IACH,qCAAyB,CAAA;IACzB;;;;;OAKG;IACH,2BAAe,CAAA;AACnB,CAAC,EAxBW,QAAQ,KAAR,QAAQ,QAwBnB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,10 @@ export async function fetchBasicAuthService(thoughtSpotHost, username, password)
|
|
|
38
38
|
export async function fetchLogoutService(thoughtSpotHost) {
|
|
39
39
|
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.LOGOUT}`, {
|
|
40
40
|
credentials: 'include',
|
|
41
|
-
mode: 'no-cors',
|
|
42
41
|
method: 'POST',
|
|
42
|
+
headers: {
|
|
43
|
+
'x-requested-by': 'ThoughtSpot',
|
|
44
|
+
},
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
//# sourceMappingURL=authService.js.map
|
|
@@ -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,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7D,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA,MAAA,CAAC,CAAC,IAAI,+CAAN,CAAC,CAAS,CAAA,CAAC,CAAC;SAC9C;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;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,eAAuB;IAEvB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE;QAC/D,WAAW,EAAE,SAAS;QACtB,
|
|
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,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7D,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA,MAAA,CAAC,CAAC,IAAI,+CAAN,CAAC,CAAS,CAAA,CAAC,CAAC;SAC9C;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;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,eAAuB;IAEvB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE;QAC/D,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,gBAAgB,EAAE,aAAa;SAClC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/lib/src/utils.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare const getCssDimension: (value: number | string) => string;
|
|
|
32
32
|
* @param stringToAppend The string to append to the URL hash
|
|
33
33
|
*/
|
|
34
34
|
export declare const appendToUrlHash: (url: string, stringToAppend: string) => string;
|
|
35
|
+
export declare function getRedirectUrl(url: string, stringToAppend: string, path?: string): string;
|
|
35
36
|
export declare const getEncodedQueryParamsString: (queryString: string) => string;
|
|
36
37
|
export declare const getOffsetTop: (element: any) => any;
|
|
37
38
|
export declare const embedEventStatus: {
|
package/lib/src/utils.js
CHANGED
|
@@ -96,6 +96,10 @@ export const appendToUrlHash = (url, stringToAppend) => {
|
|
|
96
96
|
}
|
|
97
97
|
return outputUrl;
|
|
98
98
|
};
|
|
99
|
+
export function getRedirectUrl(url, stringToAppend, path = '') {
|
|
100
|
+
const targetUrl = path ? new URL(path, window.location.origin).href : url;
|
|
101
|
+
return appendToUrlHash(targetUrl, stringToAppend);
|
|
102
|
+
}
|
|
99
103
|
export const getEncodedQueryParamsString = (queryString) => {
|
|
100
104
|
if (!queryString) {
|
|
101
105
|
return queryString;
|
package/lib/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/src/utils.spec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @jest-environment node
|
|
3
3
|
*/
|
|
4
|
-
import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, } from './utils';
|
|
4
|
+
import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, } from './utils';
|
|
5
5
|
import { RuntimeFilterOp } from './types';
|
|
6
6
|
describe('unit test for utils', () => {
|
|
7
7
|
test('getQueryParamString', () => {
|
|
@@ -54,6 +54,19 @@ describe('unit test for utils', () => {
|
|
|
54
54
|
expect(appendToUrlHash('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000#hashFrag');
|
|
55
55
|
expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foobar');
|
|
56
56
|
});
|
|
57
|
+
describe('getRedirectURL', () => {
|
|
58
|
+
test('Should return correct value when path is undefined', () => {
|
|
59
|
+
expect(getRedirectUrl('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000#hashFrag');
|
|
60
|
+
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foobar');
|
|
61
|
+
});
|
|
62
|
+
test('Should return correct value when path is set', () => {
|
|
63
|
+
Object.defineProperty(window.location, 'origin', {
|
|
64
|
+
get: () => 'http://myhost:3000',
|
|
65
|
+
});
|
|
66
|
+
expect(getRedirectUrl('http://myhost:3000/', 'hashFrag', '/bar')).toBe('http://myhost:3000/bar#hashFrag');
|
|
67
|
+
expect(getRedirectUrl('http://myhost:3000/#/foo', 'hashFrag', '#/bar')).toBe('http://myhost:3000/#/barhashFrag');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
57
70
|
test('getEncodedQueryParamsString', () => {
|
|
58
71
|
expect(getEncodedQueryParamsString('')).toBe('');
|
|
59
72
|
expect(getEncodedQueryParamsString('test')).toBe('dGVzdA');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,10 +169,24 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
|
|
|
169
169
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
170
170
|
* authentication mechanism and so on.
|
|
171
171
|
*
|
|
172
|
-
*
|
|
172
|
+
* eg: authStatus = init(config);
|
|
173
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
174
|
+
*
|
|
175
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
173
176
|
*/
|
|
174
177
|
export const init: (embedConfig: EmbedConfig) => EventEmitter;
|
|
175
178
|
export function disableAutoLogin(): void;
|
|
179
|
+
/**
|
|
180
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
181
|
+
* the SDK from automatically logging in again.
|
|
182
|
+
*
|
|
183
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
184
|
+
* second call it will be honored.
|
|
185
|
+
*
|
|
186
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
187
|
+
* @returns Promise which resolves when logout completes.
|
|
188
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
189
|
+
*/
|
|
176
190
|
export const logout: (doNotDisableAutoLogin?: boolean) => Promise<boolean>;
|
|
177
191
|
/**
|
|
178
192
|
* Renders functions in a queue, resolves to next function only after the callback next is called
|
|
@@ -516,6 +530,15 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
516
530
|
* @default false
|
|
517
531
|
*/
|
|
518
532
|
noRedirect?: boolean;
|
|
533
|
+
/**
|
|
534
|
+
* [SSO] For SSO Authentication, one can supply an optional path param,
|
|
535
|
+
* this will be the path on the host origin where the SAML flow will be
|
|
536
|
+
* terminated.
|
|
537
|
+
*
|
|
538
|
+
* Eg: "/dashboard", "#/foo" [Do not include the host]
|
|
539
|
+
* @version SDK: 1.10.2 | ThoughtSpot: *
|
|
540
|
+
*/
|
|
541
|
+
redirectPath?: string;
|
|
519
542
|
/** @internal */
|
|
520
543
|
basepath?: string;
|
|
521
544
|
/**
|
package/package.json
CHANGED
package/src/auth.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { initMixpanel } from './mixpanel-service';
|
|
2
2
|
import { AuthType, EmbedConfig, EmbedEvent } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { getRedirectUrl } from './utils';
|
|
4
4
|
// eslint-disable-next-line import/no-cycle
|
|
5
5
|
import {
|
|
6
6
|
fetchSessionInfoService,
|
|
@@ -249,7 +249,11 @@ export const doSamlAuth = async (embedConfig: EmbedConfig) => {
|
|
|
249
249
|
// again and the same JS will execute again.
|
|
250
250
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
251
251
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
252
|
-
:
|
|
252
|
+
: getRedirectUrl(
|
|
253
|
+
window.location.href,
|
|
254
|
+
SSO_REDIRECTION_MARKER_GUID,
|
|
255
|
+
embedConfig.redirectPath,
|
|
256
|
+
);
|
|
253
257
|
|
|
254
258
|
// bring back the page to the same URL
|
|
255
259
|
const ssoEndPoint = `${EndPoints.SAML_LOGIN_TEMPLATE(
|
|
@@ -266,7 +270,11 @@ export const doOIDCAuth = async (embedConfig: EmbedConfig) => {
|
|
|
266
270
|
// again and the same JS will execute again.
|
|
267
271
|
const ssoRedirectUrl = embedConfig.noRedirect
|
|
268
272
|
? `${thoughtSpotHost}/v2/#/embed/saml-complete`
|
|
269
|
-
:
|
|
273
|
+
: getRedirectUrl(
|
|
274
|
+
window.location.href,
|
|
275
|
+
SSO_REDIRECTION_MARKER_GUID,
|
|
276
|
+
embedConfig.redirectPath,
|
|
277
|
+
);
|
|
270
278
|
|
|
271
279
|
// bring back the page to the same URL
|
|
272
280
|
const ssoEndPoint = `${EndPoints.OIDC_LOGIN_TEMPLATE(
|
package/src/embed/base.spec.ts
CHANGED
package/src/embed/base.ts
CHANGED
|
@@ -20,7 +20,7 @@ import { uploadMixpanelEvent, MIXPANEL_EVENT } from '../mixpanel-service';
|
|
|
20
20
|
|
|
21
21
|
let config = {} as EmbedConfig;
|
|
22
22
|
const CONFIG_DEFAULTS: Partial<EmbedConfig> = {
|
|
23
|
-
loginFailedMessage: '
|
|
23
|
+
loginFailedMessage: 'Not logged in',
|
|
24
24
|
authType: AuthType.None,
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -98,7 +98,10 @@ export const prefetch = (url?: string): void => {
|
|
|
98
98
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
99
99
|
* authentication mechanism and so on.
|
|
100
100
|
*
|
|
101
|
-
*
|
|
101
|
+
* eg: authStatus = init(config);
|
|
102
|
+
* authStatus.on(AuthStatus.FAILURE, (reason) => { // do something here });
|
|
103
|
+
*
|
|
104
|
+
* @returns event emitter which emits events on authentication success, failure and logout. {@link AuthStatus}
|
|
102
105
|
*/
|
|
103
106
|
export const init = (embedConfig: EmbedConfig): EventEmitter => {
|
|
104
107
|
config = {
|
|
@@ -124,6 +127,17 @@ export function disableAutoLogin(): void {
|
|
|
124
127
|
config.autoLogin = false;
|
|
125
128
|
}
|
|
126
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Logout from ThoughtSpot. This also sets the autoLogin flag to false, to prevent
|
|
132
|
+
* the SDK from automatically logging in again.
|
|
133
|
+
*
|
|
134
|
+
* You can call the `init` method again to re login, if autoLogin is set to true in this
|
|
135
|
+
* second call it will be honored.
|
|
136
|
+
*
|
|
137
|
+
* @param doNotDisableAutoLogin This flag when passed will not disable autoLogin
|
|
138
|
+
* @returns Promise which resolves when logout completes.
|
|
139
|
+
* @version SDK: 1.10.1 | ThoughtSpot: *
|
|
140
|
+
*/
|
|
127
141
|
export const logout = (doNotDisableAutoLogin = false): Promise<boolean> => {
|
|
128
142
|
if (!doNotDisableAutoLogin) {
|
|
129
143
|
disableAutoLogin();
|
package/src/types.ts
CHANGED
|
@@ -97,6 +97,16 @@ export interface EmbedConfig {
|
|
|
97
97
|
*/
|
|
98
98
|
noRedirect?: boolean;
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* [SSO] For SSO Authentication, one can supply an optional path param,
|
|
102
|
+
* this will be the path on the host origin where the SAML flow will be
|
|
103
|
+
* terminated.
|
|
104
|
+
*
|
|
105
|
+
* Eg: "/dashboard", "#/foo" [Do not include the host]
|
|
106
|
+
* @version SDK: 1.10.2 | ThoughtSpot: *
|
|
107
|
+
*/
|
|
108
|
+
redirectPath?: string;
|
|
109
|
+
|
|
100
110
|
/** @internal */
|
|
101
111
|
basepath?: string;
|
|
102
112
|
|
package/src/utils/authService.ts
CHANGED
|
@@ -65,7 +65,9 @@ export async function fetchLogoutService(
|
|
|
65
65
|
): Promise<any> {
|
|
66
66
|
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.LOGOUT}`, {
|
|
67
67
|
credentials: 'include',
|
|
68
|
-
mode: 'no-cors',
|
|
69
68
|
method: 'POST',
|
|
69
|
+
headers: {
|
|
70
|
+
'x-requested-by': 'ThoughtSpot',
|
|
71
|
+
},
|
|
70
72
|
});
|
|
71
73
|
}
|
package/src/utils.spec.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
getCssDimension,
|
|
9
9
|
getEncodedQueryParamsString,
|
|
10
10
|
appendToUrlHash,
|
|
11
|
+
getRedirectUrl,
|
|
11
12
|
} from './utils';
|
|
12
13
|
import { RuntimeFilterOp } from './types';
|
|
13
14
|
|
|
@@ -80,6 +81,31 @@ describe('unit test for utils', () => {
|
|
|
80
81
|
);
|
|
81
82
|
});
|
|
82
83
|
|
|
84
|
+
describe('getRedirectURL', () => {
|
|
85
|
+
test('Should return correct value when path is undefined', () => {
|
|
86
|
+
expect(getRedirectUrl('http://myhost:3000', 'hashFrag')).toBe(
|
|
87
|
+
'http://myhost:3000#hashFrag',
|
|
88
|
+
);
|
|
89
|
+
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe(
|
|
90
|
+
'http://xyz.com/#foobar',
|
|
91
|
+
);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
test('Should return correct value when path is set', () => {
|
|
95
|
+
Object.defineProperty(window.location, 'origin', {
|
|
96
|
+
get: () => 'http://myhost:3000',
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
expect(
|
|
100
|
+
getRedirectUrl('http://myhost:3000/', 'hashFrag', '/bar'),
|
|
101
|
+
).toBe('http://myhost:3000/bar#hashFrag');
|
|
102
|
+
|
|
103
|
+
expect(
|
|
104
|
+
getRedirectUrl('http://myhost:3000/#/foo', 'hashFrag', '#/bar'),
|
|
105
|
+
).toBe('http://myhost:3000/#/barhashFrag');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
83
109
|
test('getEncodedQueryParamsString', () => {
|
|
84
110
|
expect(getEncodedQueryParamsString('')).toBe('');
|
|
85
111
|
expect(getEncodedQueryParamsString('test')).toBe('dGVzdA');
|
package/src/utils.ts
CHANGED
|
@@ -121,6 +121,11 @@ export const appendToUrlHash = (url: string, stringToAppend: string) => {
|
|
|
121
121
|
return outputUrl;
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
+
export function getRedirectUrl(url: string, stringToAppend: string, path = '') {
|
|
125
|
+
const targetUrl = path ? new URL(path, window.location.origin).href : url;
|
|
126
|
+
return appendToUrlHash(targetUrl, stringToAppend);
|
|
127
|
+
}
|
|
128
|
+
|
|
124
129
|
export const getEncodedQueryParamsString = (queryString: string) => {
|
|
125
130
|
if (!queryString) {
|
|
126
131
|
return queryString;
|