@thoughtspot/visual-embed-sdk 1.26.1 → 1.26.2

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.
Files changed (267) hide show
  1. package/cjs/package.json +2 -2
  2. package/cjs/src/auth.d.ts +0 -12
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +16 -54
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts.map +1 -1
  7. package/cjs/src/auth.spec.js +42 -32
  8. package/cjs/src/auth.spec.js.map +1 -1
  9. package/cjs/src/authToken.d.ts +4 -0
  10. package/cjs/src/authToken.d.ts.map +1 -0
  11. package/cjs/src/authToken.js +61 -0
  12. package/cjs/src/authToken.js.map +1 -0
  13. package/cjs/src/embed/TsEmbed.d.ts +302 -0
  14. package/cjs/src/embed/TsEmbed.d.ts.map +1 -0
  15. package/cjs/src/embed/TsEmbed.js +851 -0
  16. package/cjs/src/embed/TsEmbed.js.map +1 -0
  17. package/cjs/src/embed/base.d.ts +0 -9
  18. package/cjs/src/embed/base.d.ts.map +1 -1
  19. package/cjs/src/embed/base.js +21 -44
  20. package/cjs/src/embed/base.js.map +1 -1
  21. package/cjs/src/embed/base.spec.js +15 -14
  22. package/cjs/src/embed/base.spec.js.map +1 -1
  23. package/cjs/src/embed/embedConfig.d.ts +18 -0
  24. package/cjs/src/embed/embedConfig.d.ts.map +1 -0
  25. package/cjs/src/embed/embedConfig.js +25 -0
  26. package/cjs/src/embed/embedConfig.js.map +1 -0
  27. package/cjs/src/embed/search.d.ts.map +1 -1
  28. package/cjs/src/embed/search.js +3 -1
  29. package/cjs/src/embed/search.js.map +1 -1
  30. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +3 -2
  31. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  32. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  33. package/cjs/src/embed/ts-embed.js +5 -3
  34. package/cjs/src/embed/ts-embed.js.map +1 -1
  35. package/cjs/src/embed/ts-embed.spec.js +58 -49
  36. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  37. package/cjs/src/index.d.ts +2 -1
  38. package/cjs/src/index.d.ts.map +1 -1
  39. package/cjs/src/index.js +2 -1
  40. package/cjs/src/index.js.map +1 -1
  41. package/cjs/src/tokenizedFetch.d.ts +2 -0
  42. package/cjs/src/tokenizedFetch.d.ts.map +1 -0
  43. package/cjs/src/tokenizedFetch.js +20 -0
  44. package/cjs/src/tokenizedFetch.js.map +1 -0
  45. package/cjs/src/types.d.ts +6 -0
  46. package/cjs/src/types.d.ts.map +1 -1
  47. package/cjs/src/types.js.map +1 -1
  48. package/cjs/src/utils/answerService.d.ts +10 -0
  49. package/cjs/src/utils/answerService.d.ts.map +1 -0
  50. package/cjs/src/utils/answerService.js +61 -0
  51. package/cjs/src/utils/answerService.js.map +1 -0
  52. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  53. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  54. package/cjs/src/utils/answerService.spec.js +31 -0
  55. package/cjs/src/utils/answerService.spec.js.map +1 -0
  56. package/cjs/src/utils/authService/authService.d.ts +45 -0
  57. package/cjs/src/utils/authService/authService.d.ts.map +1 -0
  58. package/cjs/src/utils/authService/authService.js +115 -0
  59. package/cjs/src/utils/authService/authService.js.map +1 -0
  60. package/cjs/src/utils/authService/authService.spec.d.ts +2 -0
  61. package/cjs/src/utils/authService/authService.spec.d.ts.map +1 -0
  62. package/cjs/src/utils/authService/authService.spec.js +82 -0
  63. package/cjs/src/utils/authService/authService.spec.js.map +1 -0
  64. package/cjs/src/utils/authService/index.d.ts +3 -0
  65. package/cjs/src/utils/authService/index.d.ts.map +1 -0
  66. package/cjs/src/utils/authService/index.js +14 -0
  67. package/cjs/src/utils/authService/index.js.map +1 -0
  68. package/cjs/src/utils/authService/tokenisedAuthSerice.d.ts +11 -0
  69. package/cjs/src/utils/authService/tokenisedAuthSerice.d.ts.map +1 -0
  70. package/cjs/src/utils/authService/tokenisedAuthSerice.js +44 -0
  71. package/cjs/src/utils/authService/tokenisedAuthSerice.js.map +1 -0
  72. package/cjs/src/utils/authService/tokenizedAuthService.d.ts +11 -0
  73. package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -0
  74. package/cjs/src/utils/authService/tokenizedAuthService.js +44 -0
  75. package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -0
  76. package/cjs/src/utils/authService.d.ts +12 -1
  77. package/cjs/src/utils/authService.d.ts.map +1 -1
  78. package/cjs/src/utils/authService.js +32 -16
  79. package/cjs/src/utils/authService.js.map +1 -1
  80. package/cjs/src/utils/authService.spec.js +3 -4
  81. package/cjs/src/utils/authService.spec.js.map +1 -1
  82. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  83. package/cjs/src/utils/graphql/answerService/answerService.js +2 -1
  84. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  85. package/cjs/src/utils/graphql/answerService/answerService.spec.js +15 -3
  86. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  87. package/cjs/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  88. package/cjs/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  89. package/cjs/src/utils/graphql/graphql-request.spec.js +39 -0
  90. package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -0
  91. package/cjs/src/utils/logger.d.ts +28 -0
  92. package/cjs/src/utils/logger.d.ts.map +1 -0
  93. package/cjs/src/utils/logger.js +82 -0
  94. package/cjs/src/utils/logger.js.map +1 -0
  95. package/cjs/src/utils/processData.d.ts.map +1 -1
  96. package/cjs/src/utils/processData.js +5 -4
  97. package/cjs/src/utils/processData.js.map +1 -1
  98. package/cjs/src/utils/processData.spec.js +8 -7
  99. package/cjs/src/utils/processData.spec.js.map +1 -1
  100. package/dist/src/auth.d.ts +0 -12
  101. package/dist/src/auth.d.ts.map +1 -1
  102. package/dist/src/auth.spec.d.ts.map +1 -1
  103. package/dist/src/authToken.d.ts +4 -0
  104. package/dist/src/authToken.d.ts.map +1 -0
  105. package/dist/src/embed/base.d.ts +0 -9
  106. package/dist/src/embed/base.d.ts.map +1 -1
  107. package/dist/src/embed/embedConfig.d.ts +18 -0
  108. package/dist/src/embed/embedConfig.d.ts.map +1 -0
  109. package/dist/src/embed/search.d.ts.map +1 -1
  110. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  111. package/dist/src/index.d.ts +2 -1
  112. package/dist/src/index.d.ts.map +1 -1
  113. package/dist/src/tokenizedFetch.d.ts +2 -0
  114. package/dist/src/tokenizedFetch.d.ts.map +1 -0
  115. package/dist/src/types.d.ts +6 -0
  116. package/dist/src/types.d.ts.map +1 -1
  117. package/dist/src/utils/answerService.d.ts +10 -0
  118. package/dist/src/utils/answerService.d.ts.map +1 -0
  119. package/dist/src/utils/answerService.spec.d.ts +2 -0
  120. package/dist/src/utils/answerService.spec.d.ts.map +1 -0
  121. package/dist/src/utils/authService/authService.d.ts +45 -0
  122. package/dist/src/utils/authService/authService.d.ts.map +1 -0
  123. package/dist/src/utils/authService/authService.spec.d.ts +2 -0
  124. package/dist/src/utils/authService/authService.spec.d.ts.map +1 -0
  125. package/dist/src/utils/authService/index.d.ts +3 -0
  126. package/dist/src/utils/authService/index.d.ts.map +1 -0
  127. package/dist/src/utils/authService/tokenisedAuthSerice.d.ts +11 -0
  128. package/dist/src/utils/authService/tokenisedAuthSerice.d.ts.map +1 -0
  129. package/dist/src/utils/authService/tokenizedAuthService.d.ts +11 -0
  130. package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -0
  131. package/dist/src/utils/authService.d.ts +12 -1
  132. package/dist/src/utils/authService.d.ts.map +1 -1
  133. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  134. package/dist/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  135. package/dist/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  136. package/dist/src/utils/logger.d.ts +28 -0
  137. package/dist/src/utils/logger.d.ts.map +1 -0
  138. package/dist/src/utils/processData.d.ts.map +1 -1
  139. package/dist/tsembed-react.es.js +201 -140
  140. package/dist/tsembed-react.js +201 -140
  141. package/dist/tsembed.es.js +230 -171
  142. package/dist/tsembed.js +230 -171
  143. package/dist/visual-embed-sdk-react-full.d.ts +23 -21
  144. package/dist/visual-embed-sdk-react.d.ts +23 -21
  145. package/dist/visual-embed-sdk.d.ts +23 -21
  146. package/lib/package.json +2 -2
  147. package/lib/src/auth.d.ts +0 -12
  148. package/lib/src/auth.d.ts.map +1 -1
  149. package/lib/src/auth.js +11 -48
  150. package/lib/src/auth.js.map +1 -1
  151. package/lib/src/auth.spec.d.ts.map +1 -1
  152. package/lib/src/auth.spec.js +42 -32
  153. package/lib/src/auth.spec.js.map +1 -1
  154. package/lib/src/authToken.d.ts +4 -0
  155. package/lib/src/authToken.d.ts.map +1 -0
  156. package/lib/src/authToken.js +56 -0
  157. package/lib/src/authToken.js.map +1 -0
  158. package/lib/src/embed/TsEmbed.d.ts +302 -0
  159. package/lib/src/embed/TsEmbed.d.ts.map +1 -0
  160. package/lib/src/embed/TsEmbed.js +847 -0
  161. package/lib/src/embed/TsEmbed.js.map +1 -0
  162. package/lib/src/embed/base.d.ts +0 -9
  163. package/lib/src/embed/base.d.ts.map +1 -1
  164. package/lib/src/embed/base.js +21 -43
  165. package/lib/src/embed/base.js.map +1 -1
  166. package/lib/src/embed/base.spec.js +15 -14
  167. package/lib/src/embed/base.spec.js.map +1 -1
  168. package/lib/src/embed/embedConfig.d.ts +18 -0
  169. package/lib/src/embed/embedConfig.d.ts.map +1 -0
  170. package/lib/src/embed/embedConfig.js +20 -0
  171. package/lib/src/embed/embedConfig.js.map +1 -0
  172. package/lib/src/embed/search.d.ts.map +1 -1
  173. package/lib/src/embed/search.js +4 -2
  174. package/lib/src/embed/search.js.map +1 -1
  175. package/lib/src/embed/searchEmbed-basic-auth.spec.js +3 -2
  176. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  177. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  178. package/lib/src/embed/ts-embed.js +4 -2
  179. package/lib/src/embed/ts-embed.js.map +1 -1
  180. package/lib/src/embed/ts-embed.spec.js +58 -49
  181. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  182. package/lib/src/index.d.ts +2 -1
  183. package/lib/src/index.d.ts.map +1 -1
  184. package/lib/src/index.js +2 -1
  185. package/lib/src/index.js.map +1 -1
  186. package/lib/src/tokenizedFetch.d.ts +2 -0
  187. package/lib/src/tokenizedFetch.d.ts.map +1 -0
  188. package/lib/src/tokenizedFetch.js +16 -0
  189. package/lib/src/tokenizedFetch.js.map +1 -0
  190. package/lib/src/types.d.ts +6 -0
  191. package/lib/src/types.d.ts.map +1 -1
  192. package/lib/src/types.js.map +1 -1
  193. package/lib/src/utils/answerService.d.ts +10 -0
  194. package/lib/src/utils/answerService.d.ts.map +1 -0
  195. package/lib/src/utils/answerService.js +57 -0
  196. package/lib/src/utils/answerService.js.map +1 -0
  197. package/lib/src/utils/answerService.spec.d.ts +2 -0
  198. package/lib/src/utils/answerService.spec.d.ts.map +1 -0
  199. package/lib/src/utils/answerService.spec.js +29 -0
  200. package/lib/src/utils/answerService.spec.js.map +1 -0
  201. package/lib/src/utils/authService/authService.d.ts +45 -0
  202. package/lib/src/utils/authService/authService.d.ts.map +1 -0
  203. package/lib/src/utils/authService/authService.js +107 -0
  204. package/lib/src/utils/authService/authService.js.map +1 -0
  205. package/lib/src/utils/authService/authService.spec.d.ts +2 -0
  206. package/lib/src/utils/authService/authService.spec.d.ts.map +1 -0
  207. package/lib/src/utils/authService/authService.spec.js +80 -0
  208. package/lib/src/utils/authService/authService.spec.js.map +1 -0
  209. package/lib/src/utils/authService/index.d.ts +3 -0
  210. package/lib/src/utils/authService/index.d.ts.map +1 -0
  211. package/lib/src/utils/authService/index.js +3 -0
  212. package/lib/src/utils/authService/index.js.map +1 -0
  213. package/lib/src/utils/authService/tokenisedAuthSerice.d.ts +11 -0
  214. package/lib/src/utils/authService/tokenisedAuthSerice.d.ts.map +1 -0
  215. package/lib/src/utils/authService/tokenisedAuthSerice.js +39 -0
  216. package/lib/src/utils/authService/tokenisedAuthSerice.js.map +1 -0
  217. package/lib/src/utils/authService/tokenizedAuthService.d.ts +11 -0
  218. package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -0
  219. package/lib/src/utils/authService/tokenizedAuthService.js +39 -0
  220. package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -0
  221. package/lib/src/utils/authService.d.ts +12 -1
  222. package/lib/src/utils/authService.d.ts.map +1 -1
  223. package/lib/src/utils/authService.js +26 -10
  224. package/lib/src/utils/authService.js.map +1 -1
  225. package/lib/src/utils/authService.spec.js +1 -2
  226. package/lib/src/utils/authService.spec.js.map +1 -1
  227. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  228. package/lib/src/utils/graphql/answerService/answerService.js +2 -1
  229. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  230. package/lib/src/utils/graphql/answerService/answerService.spec.js +14 -3
  231. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  232. package/lib/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  233. package/lib/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  234. package/lib/src/utils/graphql/graphql-request.spec.js +36 -0
  235. package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -0
  236. package/lib/src/utils/logger.d.ts +28 -0
  237. package/lib/src/utils/logger.d.ts.map +1 -0
  238. package/lib/src/utils/logger.js +75 -0
  239. package/lib/src/utils/logger.js.map +1 -0
  240. package/lib/src/utils/processData.d.ts.map +1 -1
  241. package/lib/src/utils/processData.js +4 -3
  242. package/lib/src/utils/processData.js.map +1 -1
  243. package/lib/src/utils/processData.spec.js +8 -7
  244. package/lib/src/utils/processData.spec.js.map +1 -1
  245. package/lib/src/visual-embed-sdk.d.ts +28 -22
  246. package/package.json +2 -2
  247. package/src/auth.spec.ts +77 -63
  248. package/src/auth.ts +12 -55
  249. package/src/authToken.ts +66 -0
  250. package/src/embed/base.spec.ts +18 -17
  251. package/src/embed/base.ts +26 -51
  252. package/src/embed/embedConfig.ts +23 -0
  253. package/src/embed/search.ts +10 -10
  254. package/src/embed/searchEmbed-basic-auth.spec.ts +3 -2
  255. package/src/embed/ts-embed.spec.ts +87 -75
  256. package/src/embed/ts-embed.ts +11 -20
  257. package/src/index.ts +8 -2
  258. package/src/tokenizedFetch.ts +18 -0
  259. package/src/types.ts +34 -23
  260. package/src/utils/{authService.spec.ts → authService/authService.spec.ts} +2 -3
  261. package/src/utils/{authService.ts → authService/authService.ts} +29 -34
  262. package/src/utils/authService/index.ts +9 -0
  263. package/src/utils/authService/tokenizedAuthService.ts +40 -0
  264. package/src/utils/graphql/answerService/answerService.spec.ts +16 -4
  265. package/src/utils/graphql/answerService/answerService.ts +2 -1
  266. package/src/utils/processData.spec.ts +19 -16
  267. package/src/utils/processData.ts +3 -2
@@ -1,9 +1,11 @@
1
1
  import * as authInstance from './auth';
2
- import * as authService from './utils/authService';
2
+ import * as authService from './utils/authService/authService';
3
+ import * as tokenAuthService from './utils/authService/tokenizedAuthService';
3
4
  import * as checkReleaseVersionInBetaInstance from './utils';
4
5
  import * as mixPanelService from './mixpanel-service';
5
6
  import { AuthType, EmbedEvent } from './types';
6
7
  import { executeAfterWait } from './test/test-utils';
8
+ import { resetCachedAuthToken } from './authToken';
7
9
  const thoughtSpotHost = 'http://localhost:3000';
8
10
  const username = 'tsuser';
9
11
  const password = '12345678';
@@ -109,8 +111,11 @@ describe('Unit test for auth', () => {
109
111
  beforeEach(() => {
110
112
  global.fetch = window.fetch;
111
113
  });
114
+ afterEach(() => {
115
+ resetCachedAuthToken();
116
+ });
112
117
  test('endpoints, SAML_LOGIN_TEMPLATE', () => {
113
- const ssoTemplateUrl = authInstance.EndPoints.SAML_LOGIN_TEMPLATE(thoughtSpotHost);
118
+ const ssoTemplateUrl = authService.EndPoints.SAML_LOGIN_TEMPLATE(thoughtSpotHost);
114
119
  expect(ssoTemplateUrl).toBe(`/callosum/v1/saml/login?targetURLPath=${thoughtSpotHost}`);
115
120
  });
116
121
  test('when session info giving response', async () => {
@@ -136,44 +141,46 @@ describe('Unit test for auth', () => {
136
141
  }
137
142
  });
138
143
  test('doTokenAuth: when user is loggedIn', async () => {
139
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
144
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(async () => ({
140
145
  json: () => mockSessionInfo,
141
146
  status: 200,
142
147
  }));
143
148
  jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
144
149
  jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
145
150
  await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken'));
146
- expect(authService.fetchSessionInfoService).toBeCalled();
151
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
147
152
  expect(authInstance.loggedInStatus).toBe(true);
148
153
  });
149
154
  test('doTokenAuth: when user is not loggedIn & getAuthToken have response', async () => {
150
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
155
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => false);
151
156
  jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
152
157
  text: () => Promise.resolve('abc'),
153
158
  }));
154
159
  jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
155
160
  status: 200,
156
161
  }));
162
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
157
163
  await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken2'));
158
- expect(authService.fetchSessionInfoService).toBeCalled();
164
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
159
165
  expect(authService.fetchAuthService).toBeCalledWith(thoughtSpotHost, username, 'authToken2');
160
166
  });
161
167
  test('doTokenAuth: when user is not loggedIn & getAuthToken not present, isLoggedIn should called', async () => {
162
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
168
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => false);
163
169
  jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => Promise.resolve({ text: () => Promise.resolve('abc') }));
164
170
  jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
165
171
  status: 200,
166
172
  ok: true,
167
173
  }));
174
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
168
175
  await authInstance.doTokenAuth(embedConfig.doTokenAuthFailureWithoutGetAuthToken);
169
176
  await executeAfterWait(() => {
170
177
  expect(authInstance.loggedInStatus).toBe(true);
171
- expect(authService.fetchSessionInfoService).toBeCalled();
172
- expect(authService.fetchAuthService).toBeCalledWith(thoughtSpotHost, username, 'abc');
178
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
179
+ expect(authService.fetchAuthService).toBeCalledWith(thoughtSpotHost, username, 'authToken2');
173
180
  });
174
181
  });
175
182
  test('doTokenAuth: Should raise error when duplicate token is used', async () => {
176
- jest.spyOn(authService, 'fetchSessionInfoService').mockResolvedValue({
183
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockResolvedValue({
177
184
  status: 401,
178
185
  });
179
186
  jest.spyOn(window, 'alert').mockClear();
@@ -183,8 +190,10 @@ describe('Unit test for auth', () => {
183
190
  status: 200,
184
191
  ok: true,
185
192
  }));
193
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
186
194
  await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken3'));
187
195
  try {
196
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(false);
188
197
  await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken3'));
189
198
  expect(false).toBe(true);
190
199
  }
@@ -198,7 +207,7 @@ describe('Unit test for auth', () => {
198
207
  });
199
208
  });
200
209
  test('doTokenAuth: Should set loggedInStatus if detectThirdPartyCookieAccess is true and the second info call fails', async () => {
201
- jest.spyOn(authService, 'fetchSessionInfoService')
210
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService')
202
211
  .mockResolvedValue({
203
212
  status: 401,
204
213
  })
@@ -210,13 +219,14 @@ describe('Unit test for auth', () => {
210
219
  status: 200,
211
220
  ok: true,
212
221
  }));
222
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
213
223
  const isLoggedIn = await authInstance.doTokenAuth(embedConfig.doTokenAuthWithCookieDetect);
214
- expect(authService.fetchSessionInfoService).toHaveBeenCalledTimes(2);
224
+ expect(tokenAuthService.fetchSessionInfoService).toHaveBeenCalledTimes(2);
215
225
  expect(isLoggedIn).toBe(false);
216
226
  });
217
227
  test('doTokenAuth: when user is not loggedIn & fetchAuthPostService failed than fetchAuthService should call', async () => {
218
228
  jest.spyOn(window, 'alert').mockImplementation(() => undefined);
219
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
229
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => false);
220
230
  jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
221
231
  text: () => Promise.resolve('abc'),
222
232
  }));
@@ -229,8 +239,9 @@ describe('Unit test for auth', () => {
229
239
  status: 200,
230
240
  type: 'opaqueredirect',
231
241
  }));
242
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
232
243
  expect(await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken2'))).toBe(true);
233
- expect(authService.fetchSessionInfoService).toBeCalled();
244
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
234
245
  expect(authService.fetchAuthPostService).toBeCalledWith(thoughtSpotHost, username, 'authToken2');
235
246
  expect(authService.fetchAuthService).toBeCalledWith(thoughtSpotHost, username, 'authToken2');
236
247
  });
@@ -242,24 +253,24 @@ describe('Unit test for auth', () => {
242
253
  spyOn(checkReleaseVersionInBetaInstance, 'checkReleaseVersionInBeta');
243
254
  jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
244
255
  jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
245
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
256
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(async () => ({
246
257
  json: () => mockSessionInfo,
247
258
  status: 200,
248
259
  }));
249
260
  await authInstance.doBasicAuth(embedConfig.doBasicAuth);
250
- expect(authService.fetchSessionInfoService).toBeCalled();
261
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
251
262
  expect(authInstance.loggedInStatus).toBe(true);
252
263
  expect(authInstance.getSessionDetails).toBeCalled();
253
264
  expect(authInstance.initSession).toBeCalled();
254
265
  });
255
266
  it('when user is not loggedIn', async () => {
256
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
267
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
257
268
  jest.spyOn(authService, 'fetchBasicAuthService').mockImplementation(() => ({
258
269
  status: 200,
259
270
  ok: true,
260
271
  }));
261
272
  await authInstance.doBasicAuth(embedConfig.doBasicAuth);
262
- expect(authService.fetchSessionInfoService).toBeCalled();
273
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
263
274
  expect(authService.fetchBasicAuthService).toBeCalled();
264
275
  expect(authInstance.loggedInStatus).toBe(true);
265
276
  });
@@ -279,21 +290,21 @@ describe('Unit test for auth', () => {
279
290
  hash: '',
280
291
  },
281
292
  });
282
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
293
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(async () => ({
283
294
  json: () => mockSessionInfo,
284
295
  status: 200,
285
296
  }));
286
297
  jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
287
298
  jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
288
299
  await authInstance.doSamlAuth(embedConfig.doSamlAuth);
289
- expect(authService.fetchSessionInfoService).toBeCalled();
300
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
290
301
  expect(window.location.hash).toBe('');
291
302
  expect(authInstance.loggedInStatus).toBe(true);
292
303
  });
293
304
  it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
294
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
305
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
295
306
  await authInstance.doSamlAuth(embedConfig.doSamlAuth);
296
- expect(authService.fetchSessionInfoService).toBeCalled();
307
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
297
308
  expect(window.location.hash).toBe('');
298
309
  expect(authInstance.loggedInStatus).toBe(false);
299
310
  });
@@ -304,9 +315,9 @@ describe('Unit test for auth', () => {
304
315
  hash: '',
305
316
  },
306
317
  });
307
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
318
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
308
319
  await authInstance.doSamlAuth(embedConfig.doSamlAuth);
309
- expect(authService.fetchSessionInfoService).toBeCalled();
320
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
310
321
  expect(global.window.location.href).toBe(samalLoginUrl);
311
322
  });
312
323
  it('when user is not loggedIn, in config noRedirect is true and isAtSSORedirectUrl is false', async () => {
@@ -318,7 +329,7 @@ describe('Unit test for auth', () => {
318
329
  });
319
330
  spyOn(authInstance, 'samlCompletionPromise');
320
331
  global.window.open = jest.fn();
321
- jest.spyOn(authService, 'fetchSessionInfoService')
332
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService')
322
333
  .mockImplementationOnce(() => Promise.reject())
323
334
  .mockImplementationOnce(async () => ({
324
335
  json: () => mockSessionInfo,
@@ -333,22 +344,23 @@ describe('Unit test for auth', () => {
333
344
  document.getElementById('ts-auth-btn').click();
334
345
  window.postMessage({ type: EmbedEvent.SAMLComplete }, '*');
335
346
  await authInstance.samlCompletionPromise;
336
- expect(authService.fetchSessionInfoService).toBeCalled();
347
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
337
348
  expect(authInstance.getSessionDetails).toBeCalled();
338
349
  expect(authInstance.initSession).toBeCalled();
339
350
  });
340
351
  });
341
352
  describe('doOIDCAuth', () => {
342
353
  afterEach(() => {
354
+ resetCachedAuthToken();
343
355
  delete global.window;
344
356
  global.window = Object.create(originalWindow);
345
357
  global.window.open = jest.fn();
346
358
  global.fetch = window.fetch;
347
359
  });
348
360
  it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
349
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
361
+ jest.spyOn(tokenAuthService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
350
362
  await authInstance.doOIDCAuth(embedConfig.doOidcAuth);
351
- expect(authService.fetchSessionInfoService).toBeCalled();
363
+ expect(tokenAuthService.fetchSessionInfoService).toBeCalled();
352
364
  expect(window.location.hash).toBe('');
353
365
  expect(authInstance.loggedInStatus).toBe(false);
354
366
  });
@@ -396,14 +408,12 @@ describe('Unit test for auth', () => {
396
408
  expect(authInstance.isAuthenticated()).toBe(authInstance.loggedInStatus);
397
409
  });
398
410
  it('doCookielessTokenAuth should resolve to true if valid token is passed', async () => {
399
- jest.spyOn(authService, 'fetchAuthTokenService').mockResolvedValueOnce(new Response(JSON.stringify({ token: 'testToken' }), { status: 200 }));
400
- jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(new Response('', { status: 200 }));
411
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(true);
401
412
  const isLoggedIn = await authInstance.doCookielessTokenAuth(embedConfig.doCookielessAuth('testToken'));
402
413
  expect(isLoggedIn).toBe(true);
403
414
  });
404
415
  it('doCookielessTokenAuth should resolve to false if valid token is not passed', async () => {
405
- jest.spyOn(authService, 'fetchAuthTokenService').mockResolvedValueOnce(new Response(JSON.stringify({ token: 'testToken' }), { status: 200 }));
406
- jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(new Response('', { status: 400 }));
416
+ jest.spyOn(authService, 'verifyTokenService').mockResolvedValueOnce(false);
407
417
  const isLoggedIn = await authInstance.doCookielessTokenAuth(embedConfig.doCookielessAuth('testToken'));
408
418
  expect(isLoggedIn).toBe(false);
409
419
  });
@@ -1 +1 @@
1
- {"version":3,"file":"auth.spec.js","sourceRoot":"","sources":["../../src/auth.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.spec.js","sourceRoot":"","sources":["../../src/auth.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { EmbedConfig } from './types';
2
+ export declare const getAuthenticationToken: (embedConfig: EmbedConfig) => Promise<string>;
3
+ export declare const resetCachedAuthToken: () => void;
4
+ //# sourceMappingURL=authToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authToken.d.ts","sourceRoot":"","sources":["../../src/authToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWtC,eAAO,MAAM,sBAAsB,gBAAuB,WAAW,KAAG,QAAQ,MAAM,CA2BrF,CAAC;AAyBF,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { fetchAuthTokenService, verifyTokenService } from './utils/authService/authService';
2
+ const DUPLICATE_TOKEN_ERR = 'Duplicate token, please issue a new token every time getAuthToken callback is called.'
3
+ + 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
4
+ const INVALID_TOKEN_ERR = 'Invalid token received form token callback or authToken endpoint.';
5
+ let cachedAuthToken = null;
6
+ // This method can be used to get the authToken using the embedConfig
7
+ export const getAuthenticationToken = async (embedConfig) => {
8
+ if (cachedAuthToken) {
9
+ let isCachedTokenStillValid;
10
+ try {
11
+ isCachedTokenStillValid = await validateAuthToken(embedConfig, cachedAuthToken, true);
12
+ }
13
+ catch {
14
+ isCachedTokenStillValid = false;
15
+ }
16
+ if (isCachedTokenStillValid)
17
+ return cachedAuthToken;
18
+ }
19
+ const { authEndpoint, getAuthToken } = embedConfig;
20
+ let authToken = null;
21
+ if (getAuthToken) {
22
+ authToken = await getAuthToken();
23
+ }
24
+ else {
25
+ const response = await fetchAuthTokenService(authEndpoint);
26
+ authToken = await response.text();
27
+ }
28
+ // this will throw error if the token is not valid
29
+ await validateAuthToken(embedConfig, authToken);
30
+ cachedAuthToken = authToken;
31
+ return authToken;
32
+ };
33
+ const validateAuthToken = async (embedConfig, authToken, suppressAlert) => {
34
+ try {
35
+ const isTokenValid = await verifyTokenService(embedConfig.thoughtSpotHost, authToken);
36
+ if (isTokenValid)
37
+ return true;
38
+ }
39
+ catch {
40
+ return false;
41
+ }
42
+ if (cachedAuthToken && cachedAuthToken === authToken) {
43
+ if (!embedConfig.suppressErrorAlerts && !suppressAlert) {
44
+ // eslint-disable-next-line no-alert
45
+ alert(DUPLICATE_TOKEN_ERR);
46
+ }
47
+ throw new Error(DUPLICATE_TOKEN_ERR);
48
+ }
49
+ else {
50
+ throw new Error(INVALID_TOKEN_ERR);
51
+ }
52
+ };
53
+ export const resetCachedAuthToken = () => {
54
+ cachedAuthToken = null;
55
+ };
56
+ //# sourceMappingURL=authToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authToken.js","sourceRoot":"","sources":["../../src/authToken.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE5F,MAAM,mBAAmB,GAAG,uFAAuF;MAC7G,qGAAqG,CAAC;AAE5G,MAAM,iBAAiB,GAAG,mEAAmE,CAAC;AAE9F,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,WAAwB,EAAmB,EAAE;IACtF,IAAI,eAAe,EAAE;QACjB,IAAI,uBAAuB,CAAC;QAC5B,IAAI;YACA,uBAAuB,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;SACzF;QAAC,MAAM;YACJ,uBAAuB,GAAG,KAAK,CAAC;SACnC;QAED,IAAI,uBAAuB;YAAE,OAAO,eAAe,CAAC;KACvD;IAED,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IAEnD,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,YAAY,EAAE;QACd,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;KACpC;SAAM;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC3D,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,kDAAkD;IAClD,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhD,eAAe,GAAG,SAAS,CAAC;IAC5B,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC3B,WAAwB,EACxB,SAAiB,EACjB,aAAuB,EACP,EAAE;IAClB,IAAI;QACA,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtF,IAAI,YAAY;YAAE,OAAO,IAAI,CAAC;KACjC;IAAC,MAAM;QACJ,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,eAAe,IAAI,eAAe,KAAK,SAAS,EAAE;QAClD,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE;YACpD,oCAAoC;YACpC,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAC9B;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACxC;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACtC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC3C,eAAe,GAAG,IAAI,CAAC;AAC3B,CAAC,CAAC"}