@thoughtspot/visual-embed-sdk 1.33.1 → 1.33.2-alpha.1
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/cjs/package.json +1 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +5 -2
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.js +13 -1
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/utils.d.ts +1 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +13 -3
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +6 -6
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/es/index.js +17 -5
- package/dist/es/react/index.js +17 -5
- package/dist/es/react/src/auth.d.ts.map +1 -1
- package/dist/es/react/src/utils.d.ts +1 -0
- package/dist/es/react/src/utils.d.ts.map +1 -1
- package/dist/es/src/auth.d.ts.map +1 -1
- package/dist/es/src/utils.d.ts +1 -0
- package/dist/es/src/utils.d.ts.map +1 -1
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.js +17 -5
- package/dist/tsembed.js +17 -5
- package/lib/package.json +1 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +6 -3
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.js +13 -1
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/utils.d.ts +1 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +11 -2
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +6 -6
- package/lib/src/utils.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/auth.spec.ts +13 -1
- package/src/auth.ts +7 -3
- package/src/utils.spec.ts +6 -6
- package/src/utils.ts +14 -2
package/lib/src/utils.spec.js
CHANGED
|
@@ -82,8 +82,8 @@ describe('unit test for utils', () => {
|
|
|
82
82
|
expect(getCssDimension(null)).toBe(null);
|
|
83
83
|
});
|
|
84
84
|
test('appendToUrlHash', () => {
|
|
85
|
-
expect(appendToUrlHash('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000
|
|
86
|
-
expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#
|
|
85
|
+
expect(appendToUrlHash('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000#?tsSSOMarker=hashFrag');
|
|
86
|
+
expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foo?tsSSOMarker=bar');
|
|
87
87
|
});
|
|
88
88
|
describe('getRedirectURL', () => {
|
|
89
89
|
let windowSpy;
|
|
@@ -94,8 +94,8 @@ describe('unit test for utils', () => {
|
|
|
94
94
|
windowSpy.mockRestore();
|
|
95
95
|
});
|
|
96
96
|
test('Should return correct value when path is undefined', () => {
|
|
97
|
-
expect(getRedirectUrl('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000
|
|
98
|
-
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#
|
|
97
|
+
expect(getRedirectUrl('http://myhost:3000', 'hashFrag')).toBe('http://myhost:3000#?tsSSOMarker=hashFrag');
|
|
98
|
+
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foo?tsSSOMarker=bar');
|
|
99
99
|
});
|
|
100
100
|
test('Should return correct value when path is set', () => {
|
|
101
101
|
windowSpy.mockImplementation(() => ({
|
|
@@ -103,8 +103,8 @@ describe('unit test for utils', () => {
|
|
|
103
103
|
origin: 'http://myhost:3000',
|
|
104
104
|
},
|
|
105
105
|
}));
|
|
106
|
-
expect(getRedirectUrl('http://myhost:3000/', 'hashFrag', '/bar')).toBe('http://myhost:3000/bar
|
|
107
|
-
expect(getRedirectUrl('http://myhost:3000/#/foo', 'hashFrag', '#/bar')).toBe('http://myhost:3000/#/
|
|
106
|
+
expect(getRedirectUrl('http://myhost:3000/', 'hashFrag', '/bar')).toBe('http://myhost:3000/bar#?tsSSOMarker=hashFrag');
|
|
107
|
+
expect(getRedirectUrl('http://myhost:3000/#/foo', 'hashFrag', '#/bar')).toBe('http://myhost:3000/#/bar?tsSSOMarker=hashFrag');
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
110
|
test('getEncodedQueryParamsString', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/auth.spec.ts
CHANGED
|
@@ -14,7 +14,7 @@ import * as SessionService from './utils/sessionInfoService';
|
|
|
14
14
|
const thoughtSpotHost = 'http://localhost:3000';
|
|
15
15
|
const username = 'tsuser';
|
|
16
16
|
const password = '12345678';
|
|
17
|
-
const samalLoginUrl = `${thoughtSpotHost}/callosum/v1/saml/login?targetURLPath=%
|
|
17
|
+
const samalLoginUrl = `${thoughtSpotHost}/callosum/v1/saml/login?targetURLPath=%23%3FtsSSOMarker%3D5e16222e-ef02-43e9-9fbd-24226bf3ce5b`;
|
|
18
18
|
|
|
19
19
|
export const embedConfig: any = {
|
|
20
20
|
doTokenAuthSuccess: (token: string) => ({
|
|
@@ -348,6 +348,12 @@ describe('Unit test for auth', () => {
|
|
|
348
348
|
});
|
|
349
349
|
|
|
350
350
|
it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
|
|
351
|
+
Object.defineProperty(window, 'location', {
|
|
352
|
+
value: {
|
|
353
|
+
href: 'asd.com#?tsSSOMarker=' + authInstance.SSO_REDIRECTION_MARKER_GUID,
|
|
354
|
+
hash: '?tsSSOMarker=' + authInstance.SSO_REDIRECTION_MARKER_GUID,
|
|
355
|
+
},
|
|
356
|
+
});
|
|
351
357
|
jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
352
358
|
await authInstance.doSamlAuth(embedConfig.doSamlAuth);
|
|
353
359
|
expect(window.location.hash).toBe('');
|
|
@@ -401,6 +407,12 @@ describe('Unit test for auth', () => {
|
|
|
401
407
|
});
|
|
402
408
|
|
|
403
409
|
it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
|
|
410
|
+
Object.defineProperty(window, 'location', {
|
|
411
|
+
value: {
|
|
412
|
+
href: 'asd.com#?tsSSOMarker=' + authInstance.SSO_REDIRECTION_MARKER_GUID,
|
|
413
|
+
hash: '?tsSSOMarker=' + authInstance.SSO_REDIRECTION_MARKER_GUID,
|
|
414
|
+
},
|
|
415
|
+
});
|
|
404
416
|
jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
405
417
|
await authInstance.doOIDCAuth(embedConfig.doOidcAuth);
|
|
406
418
|
expect(window.location.hash).toBe('');
|
package/src/auth.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { initMixpanel } from './mixpanel-service';
|
|
|
5
5
|
import {
|
|
6
6
|
AuthType, DOMSelector, EmbedConfig, EmbedEvent,
|
|
7
7
|
} from './types';
|
|
8
|
-
import { getDOMNode, getRedirectUrl } from './utils';
|
|
8
|
+
import { getDOMNode, getRedirectUrl, getSSOMarker } from './utils';
|
|
9
9
|
import {
|
|
10
10
|
EndPoints,
|
|
11
11
|
fetchAuthPostService,
|
|
@@ -245,7 +245,7 @@ export function getReleaseVersion() {
|
|
|
245
245
|
* Check if we are stuck at the SSO redirect URL
|
|
246
246
|
*/
|
|
247
247
|
function isAtSSORedirectUrl(): boolean {
|
|
248
|
-
return window.location.href.indexOf(SSO_REDIRECTION_MARKER_GUID) >= 0;
|
|
248
|
+
return window.location.href.indexOf(getSSOMarker(SSO_REDIRECTION_MARKER_GUID)) >= 0;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
/**
|
|
@@ -257,7 +257,11 @@ function removeSSORedirectUrlMarker(): void {
|
|
|
257
257
|
// reload the page which we don't want. We'll live with adding an
|
|
258
258
|
// unnecessary hash to the parent page URL until we find any use case where
|
|
259
259
|
// that creates an issue.
|
|
260
|
-
|
|
260
|
+
|
|
261
|
+
// Replace any occurences of ?ssoMarker=guid or &ssoMarker=guid.
|
|
262
|
+
let updatedHash = window.location.hash.replace(`?${getSSOMarker(SSO_REDIRECTION_MARKER_GUID)}`, '')
|
|
263
|
+
updatedHash = updatedHash.replace(`&${getSSOMarker(SSO_REDIRECTION_MARKER_GUID)}`, '')
|
|
264
|
+
window.location.hash = updatedHash;
|
|
261
265
|
}
|
|
262
266
|
|
|
263
267
|
/**
|
package/src/utils.spec.ts
CHANGED
|
@@ -119,9 +119,9 @@ describe('unit test for utils', () => {
|
|
|
119
119
|
|
|
120
120
|
test('appendToUrlHash', () => {
|
|
121
121
|
expect(appendToUrlHash('http://myhost:3000', 'hashFrag')).toBe(
|
|
122
|
-
'http://myhost:3000
|
|
122
|
+
'http://myhost:3000#?tsSSOMarker=hashFrag',
|
|
123
123
|
);
|
|
124
|
-
expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#
|
|
124
|
+
expect(appendToUrlHash('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foo?tsSSOMarker=bar');
|
|
125
125
|
});
|
|
126
126
|
|
|
127
127
|
describe('getRedirectURL', () => {
|
|
@@ -135,9 +135,9 @@ describe('unit test for utils', () => {
|
|
|
135
135
|
|
|
136
136
|
test('Should return correct value when path is undefined', () => {
|
|
137
137
|
expect(getRedirectUrl('http://myhost:3000', 'hashFrag')).toBe(
|
|
138
|
-
'http://myhost:3000
|
|
138
|
+
'http://myhost:3000#?tsSSOMarker=hashFrag',
|
|
139
139
|
);
|
|
140
|
-
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#
|
|
140
|
+
expect(getRedirectUrl('http://xyz.com/#foo', 'bar')).toBe('http://xyz.com/#foo?tsSSOMarker=bar');
|
|
141
141
|
});
|
|
142
142
|
|
|
143
143
|
test('Should return correct value when path is set', () => {
|
|
@@ -148,11 +148,11 @@ describe('unit test for utils', () => {
|
|
|
148
148
|
}));
|
|
149
149
|
|
|
150
150
|
expect(getRedirectUrl('http://myhost:3000/', 'hashFrag', '/bar')).toBe(
|
|
151
|
-
'http://myhost:3000/bar
|
|
151
|
+
'http://myhost:3000/bar#?tsSSOMarker=hashFrag',
|
|
152
152
|
);
|
|
153
153
|
|
|
154
154
|
expect(getRedirectUrl('http://myhost:3000/#/foo', 'hashFrag', '#/bar')).toBe(
|
|
155
|
-
'http://myhost:3000/#/
|
|
155
|
+
'http://myhost:3000/#/bar?tsSSOMarker=hashFrag',
|
|
156
156
|
);
|
|
157
157
|
});
|
|
158
158
|
});
|
package/src/utils.ts
CHANGED
|
@@ -131,6 +131,11 @@ export const getCssDimension = (value: number | string): string => {
|
|
|
131
131
|
return value;
|
|
132
132
|
};
|
|
133
133
|
|
|
134
|
+
export const getSSOMarker = (markerId: string) => {
|
|
135
|
+
const encStringToAppend = encodeURIComponent(markerId);
|
|
136
|
+
return `tsSSOMarker=${encStringToAppend}`;
|
|
137
|
+
}
|
|
138
|
+
|
|
134
139
|
/**
|
|
135
140
|
* Append a string to a URL's hash fragment
|
|
136
141
|
* @param url A URL
|
|
@@ -140,11 +145,18 @@ export const appendToUrlHash = (url: string, stringToAppend: string) => {
|
|
|
140
145
|
let outputUrl = url;
|
|
141
146
|
const encStringToAppend = encodeURIComponent(stringToAppend);
|
|
142
147
|
|
|
148
|
+
const marker = `tsSSOMarker=${encStringToAppend}`;
|
|
149
|
+
|
|
150
|
+
let splitAdder = '';
|
|
151
|
+
|
|
143
152
|
if (url.indexOf('#') >= 0) {
|
|
144
|
-
|
|
153
|
+
// If second half of hash contains a '?' already add a '&' instead of '?' which appends
|
|
154
|
+
// to query params.
|
|
155
|
+
splitAdder = url.split('#')[1].indexOf('?') >= 0 ? '&' : '?';
|
|
145
156
|
} else {
|
|
146
|
-
|
|
157
|
+
splitAdder = '#?'
|
|
147
158
|
}
|
|
159
|
+
outputUrl = `${outputUrl}${splitAdder}${marker}`;
|
|
148
160
|
|
|
149
161
|
return outputUrl;
|
|
150
162
|
};
|