@jbrowse/plugin-authentication 2.4.2 → 2.6.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.
Files changed (102) hide show
  1. package/dist/DropboxOAuthModel/configSchema.d.ts +105 -1
  2. package/dist/DropboxOAuthModel/configSchema.js +0 -8
  3. package/dist/DropboxOAuthModel/configSchema.js.map +1 -1
  4. package/dist/DropboxOAuthModel/model.d.ts +304 -8
  5. package/dist/DropboxOAuthModel/model.js +26 -35
  6. package/dist/DropboxOAuthModel/model.js.map +1 -1
  7. package/dist/DropboxOAuthModel/util.d.ts +1 -0
  8. package/dist/DropboxOAuthModel/util.js +28 -0
  9. package/dist/DropboxOAuthModel/util.js.map +1 -0
  10. package/dist/ExternalTokenModel/ExternalTokenEntryForm.d.ts +2 -2
  11. package/dist/ExternalTokenModel/ExternalTokenEntryForm.js +10 -11
  12. package/dist/ExternalTokenModel/ExternalTokenEntryForm.js.map +1 -1
  13. package/dist/ExternalTokenModel/configSchema.d.ts +36 -1
  14. package/dist/ExternalTokenModel/model.d.ts +93 -3
  15. package/dist/GoogleDriveOAuthModel/GoogleDriveFilehandle.d.ts +15 -0
  16. package/dist/GoogleDriveOAuthModel/GoogleDriveFilehandle.js +20 -0
  17. package/dist/GoogleDriveOAuthModel/GoogleDriveFilehandle.js.map +1 -0
  18. package/dist/GoogleDriveOAuthModel/configSchema.d.ts +105 -1
  19. package/dist/GoogleDriveOAuthModel/model.d.ts +219 -20
  20. package/dist/GoogleDriveOAuthModel/model.js +38 -51
  21. package/dist/GoogleDriveOAuthModel/model.js.map +1 -1
  22. package/dist/GoogleDriveOAuthModel/util.d.ts +1 -0
  23. package/dist/GoogleDriveOAuthModel/util.js +17 -0
  24. package/dist/GoogleDriveOAuthModel/util.js.map +1 -0
  25. package/dist/HTTPBasicModel/HTTPBasicLoginForm.d.ts +2 -2
  26. package/dist/HTTPBasicModel/HTTPBasicLoginForm.js +17 -21
  27. package/dist/HTTPBasicModel/HTTPBasicLoginForm.js.map +1 -1
  28. package/dist/HTTPBasicModel/configSchema.d.ts +44 -1
  29. package/dist/HTTPBasicModel/model.d.ts +135 -3
  30. package/dist/HTTPBasicModel/model.js +24 -9
  31. package/dist/HTTPBasicModel/model.js.map +1 -1
  32. package/dist/OAuthModel/configSchema.d.ts +94 -1
  33. package/dist/OAuthModel/configSchema.js +1 -9
  34. package/dist/OAuthModel/configSchema.js.map +1 -1
  35. package/dist/OAuthModel/model.d.ts +263 -8
  36. package/dist/OAuthModel/model.js +165 -113
  37. package/dist/OAuthModel/model.js.map +1 -1
  38. package/dist/OAuthModel/util.d.ts +7 -0
  39. package/dist/OAuthModel/util.js +60 -0
  40. package/dist/OAuthModel/util.js.map +1 -0
  41. package/dist/index.d.ts +954 -105
  42. package/dist/util.d.ts +6 -0
  43. package/dist/util.js +23 -0
  44. package/dist/util.js.map +1 -0
  45. package/esm/DropboxOAuthModel/configSchema.d.ts +105 -1
  46. package/esm/DropboxOAuthModel/configSchema.js +0 -8
  47. package/esm/DropboxOAuthModel/configSchema.js.map +1 -1
  48. package/esm/DropboxOAuthModel/model.d.ts +304 -8
  49. package/esm/DropboxOAuthModel/model.js +26 -35
  50. package/esm/DropboxOAuthModel/model.js.map +1 -1
  51. package/esm/DropboxOAuthModel/util.d.ts +1 -0
  52. package/esm/DropboxOAuthModel/util.js +24 -0
  53. package/esm/DropboxOAuthModel/util.js.map +1 -0
  54. package/esm/ExternalTokenModel/ExternalTokenEntryForm.d.ts +2 -2
  55. package/esm/ExternalTokenModel/ExternalTokenEntryForm.js +10 -11
  56. package/esm/ExternalTokenModel/ExternalTokenEntryForm.js.map +1 -1
  57. package/esm/ExternalTokenModel/configSchema.d.ts +36 -1
  58. package/esm/ExternalTokenModel/model.d.ts +93 -3
  59. package/esm/GoogleDriveOAuthModel/GoogleDriveFilehandle.d.ts +15 -0
  60. package/esm/GoogleDriveOAuthModel/GoogleDriveFilehandle.js +16 -0
  61. package/esm/GoogleDriveOAuthModel/GoogleDriveFilehandle.js.map +1 -0
  62. package/esm/GoogleDriveOAuthModel/configSchema.d.ts +105 -1
  63. package/esm/GoogleDriveOAuthModel/model.d.ts +219 -20
  64. package/esm/GoogleDriveOAuthModel/model.js +37 -49
  65. package/esm/GoogleDriveOAuthModel/model.js.map +1 -1
  66. package/esm/GoogleDriveOAuthModel/util.d.ts +1 -0
  67. package/esm/GoogleDriveOAuthModel/util.js +13 -0
  68. package/esm/GoogleDriveOAuthModel/util.js.map +1 -0
  69. package/esm/HTTPBasicModel/HTTPBasicLoginForm.d.ts +2 -2
  70. package/esm/HTTPBasicModel/HTTPBasicLoginForm.js +18 -22
  71. package/esm/HTTPBasicModel/HTTPBasicLoginForm.js.map +1 -1
  72. package/esm/HTTPBasicModel/configSchema.d.ts +44 -1
  73. package/esm/HTTPBasicModel/model.d.ts +135 -3
  74. package/esm/HTTPBasicModel/model.js +24 -9
  75. package/esm/HTTPBasicModel/model.js.map +1 -1
  76. package/esm/OAuthModel/configSchema.d.ts +94 -1
  77. package/esm/OAuthModel/configSchema.js +1 -9
  78. package/esm/OAuthModel/configSchema.js.map +1 -1
  79. package/esm/OAuthModel/model.d.ts +263 -8
  80. package/esm/OAuthModel/model.js +164 -86
  81. package/esm/OAuthModel/model.js.map +1 -1
  82. package/esm/OAuthModel/util.d.ts +7 -0
  83. package/esm/OAuthModel/util.js +30 -0
  84. package/esm/OAuthModel/util.js.map +1 -0
  85. package/esm/index.d.ts +954 -105
  86. package/esm/util.d.ts +6 -0
  87. package/esm/util.js +18 -0
  88. package/esm/util.js.map +1 -0
  89. package/package.json +3 -4
  90. package/src/DropboxOAuthModel/configSchema.ts +0 -8
  91. package/src/DropboxOAuthModel/model.tsx +35 -54
  92. package/src/DropboxOAuthModel/util.ts +36 -0
  93. package/src/ExternalTokenModel/ExternalTokenEntryForm.tsx +39 -41
  94. package/src/GoogleDriveOAuthModel/GoogleDriveFilehandle.ts +38 -0
  95. package/src/GoogleDriveOAuthModel/model.tsx +54 -104
  96. package/src/GoogleDriveOAuthModel/util.ts +29 -0
  97. package/src/HTTPBasicModel/HTTPBasicLoginForm.tsx +53 -56
  98. package/src/HTTPBasicModel/model.tsx +26 -11
  99. package/src/OAuthModel/configSchema.ts +2 -9
  100. package/src/OAuthModel/model.tsx +190 -108
  101. package/src/OAuthModel/util.ts +33 -0
  102. package/src/util.ts +25 -0
@@ -2,19 +2,29 @@ import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
2
2
  import { InternetAccount } from '@jbrowse/core/pluggableElementTypes/models';
3
3
  import { isElectron } from '@jbrowse/core/util';
4
4
  import { types } from 'mobx-state-tree';
5
- import jwtDecode from 'jwt-decode';
6
- function fixup(buf) {
7
- return buf.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
8
- }
5
+ import { fixup, generateChallenge, processError, processTokenResponse, } from './util';
6
+ import { getResponseError } from '../util';
7
+ /**
8
+ * #stateModel OAuthInternetAccount
9
+ */
9
10
  const stateModelFactory = (configSchema) => {
10
11
  return InternetAccount.named('OAuthInternetAccount')
11
12
  .props({
13
+ /**
14
+ * #property
15
+ */
12
16
  type: types.literal('OAuthInternetAccount'),
17
+ /**
18
+ * #property
19
+ */
13
20
  configuration: ConfigurationReference(configSchema),
14
21
  })
15
22
  .views(() => {
16
23
  let codeVerifier = undefined;
17
24
  return {
25
+ /**
26
+ * #getter
27
+ */
18
28
  get codeVerifierPKCE() {
19
29
  if (codeVerifier) {
20
30
  return codeVerifier;
@@ -27,118 +37,136 @@ const stateModelFactory = (configSchema) => {
27
37
  };
28
38
  })
29
39
  .views(self => ({
40
+ /**
41
+ * #getter
42
+ */
30
43
  get authEndpoint() {
31
44
  return getConf(self, 'authEndpoint');
32
45
  },
46
+ /**
47
+ * #getter
48
+ */
33
49
  get tokenEndpoint() {
34
50
  return getConf(self, 'tokenEndpoint');
35
51
  },
52
+ /**
53
+ * #getter
54
+ */
36
55
  get needsPKCE() {
37
56
  return getConf(self, 'needsPKCE');
38
57
  },
58
+ /**
59
+ * #getter
60
+ */
39
61
  get clientId() {
40
62
  return getConf(self, 'clientId');
41
63
  },
64
+ /**
65
+ * #getter
66
+ */
42
67
  get scopes() {
43
68
  return getConf(self, 'scopes');
44
69
  },
45
70
  /**
46
- * OAuth state parameter: https://www.rfc-editor.org/rfc/rfc6749#section-4.1.1
71
+ * #method
72
+ * OAuth state parameter:
73
+ * https://www.rfc-editor.org/rfc/rfc6749#section-4.1.1
74
+ *
47
75
  * Can override or extend if dynamic state is needed.
48
76
  */
49
77
  state() {
50
- return getConf(self, 'state') || undefined;
78
+ return getConf(self, 'state');
51
79
  },
80
+ /**
81
+ * #getter
82
+ */
52
83
  get responseType() {
53
84
  return getConf(self, 'responseType');
54
85
  },
55
- get hasRefreshToken() {
56
- return getConf(self, 'hasRefreshToken');
57
- },
86
+ /**
87
+ * #getter
88
+ */
58
89
  get refreshTokenKey() {
59
90
  return `${self.internetAccountId}-refreshToken`;
60
91
  },
61
92
  }))
62
93
  .actions(self => ({
94
+ /**
95
+ * #action
96
+ */
63
97
  storeRefreshToken(refreshToken) {
64
98
  localStorage.setItem(self.refreshTokenKey, refreshToken);
65
99
  },
100
+ /**
101
+ * #action
102
+ */
66
103
  removeRefreshToken() {
67
104
  localStorage.removeItem(self.refreshTokenKey);
68
105
  },
106
+ /**
107
+ * #method
108
+ */
69
109
  retrieveRefreshToken() {
70
110
  return localStorage.getItem(self.refreshTokenKey);
71
111
  },
112
+ /**
113
+ * #action
114
+ */
72
115
  async exchangeAuthorizationForAccessToken(token, redirectUri) {
73
- const data = {
116
+ const params = new URLSearchParams(Object.entries({
74
117
  code: token,
75
118
  grant_type: 'authorization_code',
76
119
  client_id: self.clientId,
77
- code_verifier: self.codeVerifierPKCE,
78
120
  redirect_uri: redirectUri,
79
- };
80
- const params = new URLSearchParams(Object.entries(data));
121
+ ...(self.needsPKCE ? { code_verifier: self.codeVerifierPKCE } : {}),
122
+ }));
81
123
  const response = await fetch(self.tokenEndpoint, {
82
124
  method: 'POST',
83
125
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
84
126
  body: params.toString(),
85
127
  });
86
128
  if (!response.ok) {
87
- let errorMessage;
88
- try {
89
- errorMessage = await response.text();
90
- }
91
- catch (error) {
92
- errorMessage = '';
93
- }
94
- throw new Error(`Failed to obtain token from endpoint: ${response.status} (${response.statusText})${errorMessage ? ` (${errorMessage})` : ''}`);
95
- }
96
- const accessToken = await response.json();
97
- if (accessToken.refresh_token) {
98
- this.storeRefreshToken(accessToken.refresh_token);
129
+ throw new Error(await getResponseError({
130
+ response,
131
+ reason: 'Failed to obtain token',
132
+ }));
99
133
  }
100
- return accessToken.access_token;
134
+ const data = await response.json();
135
+ return processTokenResponse(data, token => this.storeRefreshToken(token));
101
136
  },
137
+ /**
138
+ * #action
139
+ */
102
140
  async exchangeRefreshForAccessToken(refreshToken) {
103
- var _a;
104
- const data = {
105
- grant_type: 'refresh_token',
106
- refresh_token: refreshToken,
107
- client_id: self.clientId,
108
- };
109
- const params = new URLSearchParams(Object.entries(data));
110
141
  const response = await fetch(self.tokenEndpoint, {
111
142
  method: 'POST',
112
143
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
113
- body: params.toString(),
144
+ body: new URLSearchParams(Object.entries({
145
+ grant_type: 'refresh_token',
146
+ refresh_token: refreshToken,
147
+ client_id: self.clientId,
148
+ })).toString(),
114
149
  });
115
150
  if (!response.ok) {
116
151
  self.removeToken();
117
- let text = await response.text();
118
- try {
119
- const obj = JSON.parse(text);
120
- if (obj.error === 'invalid_grant') {
121
- this.removeRefreshToken();
122
- }
123
- text = (_a = obj === null || obj === void 0 ? void 0 : obj.error_description) !== null && _a !== void 0 ? _a : text;
124
- }
125
- catch (e) {
126
- /* just use original text as error */
127
- }
128
- throw new Error(`Network response failure — ${response.status} (${response.statusText}) ${text ? ` (${text})` : ''}`);
129
- }
130
- const accessToken = await response.json();
131
- if (accessToken.refresh_token) {
132
- this.storeRefreshToken(accessToken.refresh_token);
152
+ const text = await response.text();
153
+ throw new Error(await getResponseError({
154
+ response,
155
+ statusText: processError(text, () => this.removeRefreshToken()),
156
+ }));
133
157
  }
134
- return accessToken.access_token;
158
+ const data = await response.json();
159
+ return processTokenResponse(data, token => this.storeRefreshToken(token));
135
160
  },
136
161
  }))
137
162
  .actions(self => {
138
163
  let listener;
139
- let refreshTokenPromise = undefined;
164
+ let exchangedTokenPromise = undefined;
140
165
  return {
141
- // used to listen to child window for auth code/token
166
+ /**
167
+ * #action
168
+ * used to listen to child window for auth code/token
169
+ */
142
170
  addMessageChannel(resolve, reject) {
143
171
  listener = event => {
144
172
  // this should probably get better handling, but ignored for now
@@ -147,9 +175,15 @@ const stateModelFactory = (configSchema) => {
147
175
  };
148
176
  window.addEventListener('message', listener);
149
177
  },
178
+ /**
179
+ * #action
180
+ */
150
181
  deleteMessageChannel() {
151
182
  window.removeEventListener('message', listener);
152
183
  },
184
+ /**
185
+ * #action
186
+ */
153
187
  async finishOAuthWindow(event, resolve, reject) {
154
188
  if (event.data.name !== `JBrowseAuthWindow-${self.internetAccountId}`) {
155
189
  return this.deleteMessageChannel();
@@ -177,21 +211,25 @@ const stateModelFactory = (configSchema) => {
177
211
  self.storeToken(token);
178
212
  return resolve(token);
179
213
  }
180
- catch (error) {
181
- return error instanceof Error
182
- ? reject(error)
183
- : reject(new Error(String(error)));
214
+ catch (e) {
215
+ return e instanceof Error
216
+ ? reject(e)
217
+ : reject(new Error(String(e)));
184
218
  }
185
219
  }
186
220
  if (redirectUriWithInfo.includes('access_denied')) {
187
221
  return reject(new Error('OAuth flow was cancelled'));
188
222
  }
189
223
  if (redirectUriWithInfo.includes('error')) {
190
- return reject(new Error('Oauth flow error: ' + queryStringSearch));
224
+ return reject(new Error('OAuth flow error: ' + queryStringSearch));
191
225
  }
192
226
  this.deleteMessageChannel();
193
227
  },
194
- // opens external OAuth flow, popup for web and new browser window for desktop
228
+ /**
229
+ * #action
230
+ * opens external OAuth flow, popup for web and new browser window for
231
+ * desktop
232
+ */
195
233
  async useEndpointForAuthorization(resolve, reject) {
196
234
  const redirectUri = isElectron
197
235
  ? 'http://localhost/auth'
@@ -200,6 +238,7 @@ const stateModelFactory = (configSchema) => {
200
238
  client_id: self.clientId,
201
239
  redirect_uri: redirectUri,
202
240
  response_type: self.responseType || 'code',
241
+ token_access_type: 'offline',
203
242
  };
204
243
  if (self.state()) {
205
244
  data.state = self.state();
@@ -208,16 +247,9 @@ const stateModelFactory = (configSchema) => {
208
247
  data.scope = self.scopes;
209
248
  }
210
249
  if (self.needsPKCE) {
211
- const { codeVerifierPKCE } = self;
212
- const sha256 = await import('crypto-js/sha256').then(f => f.default);
213
- const Base64 = await import('crypto-js/enc-base64');
214
- const codeChallenge = fixup(Base64.stringify(sha256(codeVerifierPKCE)));
215
- data.code_challenge = codeChallenge;
250
+ data.code_challenge = await generateChallenge(self.codeVerifierPKCE);
216
251
  data.code_challenge_method = 'S256';
217
252
  }
218
- if (self.hasRefreshToken) {
219
- data.token_access_type = 'offline';
220
- }
221
253
  const params = new URLSearchParams(Object.entries(data));
222
254
  const url = new URL(self.authEndpoint);
223
255
  url.search = params.toString();
@@ -237,44 +269,90 @@ const stateModelFactory = (configSchema) => {
237
269
  this.finishOAuthWindow(eventFromDesktop, resolve, reject);
238
270
  }
239
271
  else {
240
- const options = `width=500,height=600,left=0,top=0`;
241
- window.open(url, eventName, options);
272
+ window.open(url, eventName, `width=500,height=600,left=0,top=0`);
242
273
  }
243
274
  },
275
+ /**
276
+ * #action
277
+ */
244
278
  async getTokenFromUser(resolve, reject) {
245
- const refreshToken = self.hasRefreshToken && self.retrieveRefreshToken();
279
+ const refreshToken = self.retrieveRefreshToken();
280
+ let doUserFlow = true;
281
+ // if there is a refresh token, then try it out, and only if that
282
+ // refresh token succeeds, set doUserFlow to false
246
283
  if (refreshToken) {
247
- resolve(await self.exchangeRefreshForAccessToken(refreshToken));
284
+ try {
285
+ const token = await self.exchangeRefreshForAccessToken(refreshToken);
286
+ resolve(token);
287
+ doUserFlow = false;
288
+ }
289
+ catch (e) {
290
+ console.error(e);
291
+ self.removeRefreshToken();
292
+ }
293
+ }
294
+ if (doUserFlow) {
295
+ this.addMessageChannel(resolve, reject);
296
+ // may want to improve handling
297
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
298
+ this.useEndpointForAuthorization(resolve, reject);
248
299
  }
249
- this.addMessageChannel(resolve, reject);
250
- // may want to improve handling
251
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
252
- this.useEndpointForAuthorization(resolve, reject);
253
300
  },
301
+ /**
302
+ * #action
303
+ */
254
304
  async validateToken(token, location) {
255
- const decoded = jwtDecode(token);
256
- if (decoded.exp && decoded.exp < Date.now() / 1000) {
257
- const refreshToken = self.hasRefreshToken && self.retrieveRefreshToken();
305
+ const newInit = self.addAuthHeaderToInit({ method: 'HEAD' }, token);
306
+ const response = await fetch(location.uri, newInit);
307
+ if (!response.ok) {
308
+ self.removeToken();
309
+ const refreshToken = self.retrieveRefreshToken();
258
310
  if (refreshToken) {
259
311
  try {
260
- if (!refreshTokenPromise) {
261
- refreshTokenPromise =
312
+ if (!exchangedTokenPromise) {
313
+ exchangedTokenPromise =
262
314
  self.exchangeRefreshForAccessToken(refreshToken);
263
315
  }
264
- const newToken = await refreshTokenPromise;
265
- return this.validateToken(newToken, location);
316
+ const newToken = await exchangedTokenPromise;
317
+ exchangedTokenPromise = undefined;
318
+ return newToken;
266
319
  }
267
320
  catch (err) {
268
- throw new Error(`Token could not be refreshed. ${err}`);
321
+ console.error('Token could not be refreshed', err);
322
+ // let original error be thrown
269
323
  }
270
324
  }
271
- }
272
- else {
273
- refreshTokenPromise = undefined;
325
+ throw new Error(await getResponseError({
326
+ response,
327
+ reason: 'Error validating token',
328
+ }));
274
329
  }
275
330
  return token;
276
331
  },
277
332
  };
333
+ })
334
+ .actions(self => {
335
+ const superGetFetcher = self.getFetcher;
336
+ return {
337
+ /**
338
+ * #action
339
+ * Get a fetch method that will add any needed authentication headers to
340
+ * the request before sending it. If location is provided, it will be
341
+ * checked to see if it includes a token in it's pre-auth information.
342
+ *
343
+ * @param loc - UriLocation of the resource
344
+ * @returns A function that can be used to fetch
345
+ */
346
+ getFetcher(loc) {
347
+ const fetcher = superGetFetcher(loc);
348
+ return async (input, init) => {
349
+ if (loc) {
350
+ await self.validateToken(await self.getToken(loc), loc);
351
+ }
352
+ return fetcher(input, init);
353
+ };
354
+ },
355
+ };
278
356
  });
279
357
  };
280
358
  export default stateModelFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/OAuthModel/model.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/OAuthModel/model.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function fixup(buf: string): string;
2
+ export declare function generateChallenge(val: string): Promise<string>;
3
+ export declare function processError(text: string, invalidErrorCb: () => void): any;
4
+ export declare function processTokenResponse(data: {
5
+ refresh_token?: string;
6
+ access_token: string;
7
+ }, storeRefreshTokenCb: (str: string) => void): string;
@@ -0,0 +1,30 @@
1
+ export function fixup(buf) {
2
+ return buf.replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '');
3
+ }
4
+ export async function generateChallenge(val) {
5
+ const sha256 = await import('crypto-js/sha256').then(f => f.default);
6
+ const Base64 = await import('crypto-js/enc-base64');
7
+ return fixup(Base64.stringify(sha256(val)));
8
+ }
9
+ // if response is JSON, checks if it needs to remove tokens in error, or just plain throw
10
+ export function processError(text, invalidErrorCb) {
11
+ var _a;
12
+ try {
13
+ const obj = JSON.parse(text);
14
+ if (obj.error === 'invalid_grant') {
15
+ invalidErrorCb();
16
+ }
17
+ return (_a = obj === null || obj === void 0 ? void 0 : obj.error_description) !== null && _a !== void 0 ? _a : text;
18
+ }
19
+ catch (e) {
20
+ /* response text is not json, just use original text as error */
21
+ }
22
+ return text;
23
+ }
24
+ export function processTokenResponse(data, storeRefreshTokenCb) {
25
+ if (data.refresh_token) {
26
+ storeRefreshTokenCb(data.refresh_token);
27
+ }
28
+ return data.access_token;
29
+ }
30
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/OAuthModel/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACnD,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,cAA0B;;IACnE,IAAI;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,GAAG,CAAC,KAAK,KAAK,eAAe,EAAE;YACjC,cAAc,EAAE,CAAA;SACjB;QACD,OAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,iBAAiB,mCAAI,IAAI,CAAA;KACtC;IAAC,OAAO,CAAC,EAAE;QACV,gEAAgE;KACjE;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAsD,EACtD,mBAA0C;IAE1C,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACxC;IACD,OAAO,IAAI,CAAC,YAAY,CAAA;AAC1B,CAAC"}