oidc-spa 8.5.1 → 8.5.3

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.
@@ -72,7 +72,7 @@ const homeAndRedirectUri_1 = require("./homeAndRedirectUri");
72
72
  const ensureNonBlankPaint_1 = require("../tools/ensureNonBlankPaint");
73
73
  const StateDataCookie_1 = require("./StateDataCookie");
74
74
  // NOTE: Replaced at build time
75
- const VERSION = "8.5.1";
75
+ const VERSION = "8.5.3";
76
76
  const globalContext = {
77
77
  prOidcByConfigId: new Map(),
78
78
  hasLogoutBeenCalled: (0, id_1.id)(false)
@@ -31,7 +31,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
31
31
  let didSubstitute = false;
32
32
  const headers = new Headers();
33
33
  request.headers.forEach((value, key) => {
34
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
34
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
35
+ text: value,
36
+ doEncodeUriComponent: false
37
+ });
35
38
  if (nextValue !== value) {
36
39
  didSubstitute = true;
37
40
  }
@@ -50,7 +53,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
50
53
  break from_init;
51
54
  }
52
55
  if (typeof init.body === "string") {
53
- body = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(init.body);
56
+ body = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
57
+ text: init.body,
58
+ doEncodeUriComponent: false
59
+ });
54
60
  if (init.body !== body) {
55
61
  didSubstitute = true;
56
62
  }
@@ -60,7 +66,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
60
66
  let didUrlSearchParamsSubstitute = false;
61
67
  const next = new URLSearchParams();
62
68
  init.body.forEach((value, key) => {
63
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
69
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
70
+ text: value,
71
+ doEncodeUriComponent: false
72
+ });
64
73
  if (nextValue !== value) {
65
74
  didUrlSearchParamsSubstitute = true;
66
75
  }
@@ -77,7 +86,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
77
86
  const next = new FormData();
78
87
  init.body.forEach((value, key) => {
79
88
  if (typeof value === "string") {
80
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
89
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
90
+ text: value,
91
+ doEncodeUriComponent: false
92
+ });
81
93
  if (nextValue !== value) {
82
94
  didFormDataSubstitute = true;
83
95
  }
@@ -127,12 +139,23 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
127
139
  break handle_body;
128
140
  }
129
141
  const bodyText = await request.clone().text();
130
- const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(bodyText);
142
+ const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
143
+ text: bodyText,
144
+ doEncodeUriComponent: false
145
+ });
131
146
  if (nextBodyText !== bodyText) {
132
147
  didSubstitute = true;
133
148
  }
134
149
  body = nextBodyText;
135
150
  }
151
+ let url;
152
+ {
153
+ const url_before = request.url;
154
+ url = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: url_before, doEncodeUriComponent: true });
155
+ if (url !== url_before) {
156
+ didSubstitute = true;
157
+ }
158
+ }
136
159
  block_authed_request_to_unauthorized_hostnames: {
137
160
  if (!didSubstitute) {
138
161
  break block_authed_request_to_unauthorized_hostnames;
@@ -151,7 +174,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
151
174
  "`resourceServersAllowedHostnames`."
152
175
  ].join(" "));
153
176
  }
154
- return fetch_actual(request.url, {
177
+ const nextInit = {
155
178
  method: request.method,
156
179
  headers,
157
180
  body,
@@ -164,7 +187,16 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
164
187
  integrity: request.integrity,
165
188
  keepalive: request.keepalive,
166
189
  signal: request.signal
167
- });
190
+ };
191
+ {
192
+ //@ts-expect-error
193
+ const duplex = init?.duplex ?? (input instanceof Request ? input.duplex : undefined);
194
+ if (duplex !== undefined) {
195
+ //@ts-expect-error
196
+ nextInit.duplex = duplex;
197
+ }
198
+ }
199
+ return fetch_actual(url, nextInit);
168
200
  };
169
201
  }
170
202
  function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
@@ -172,23 +204,24 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
172
204
  const open_actual = XMLHttpRequest.prototype.open;
173
205
  const send_actual = XMLHttpRequest.prototype.send;
174
206
  const setRequestHeader_actual = XMLHttpRequest.prototype.setRequestHeader;
175
- const xhrDataSymbol = Symbol("oidc-spa XMLHttpRequest data");
176
- const getXhrData = (xhr) => {
177
- const xhr_any = xhr;
178
- if (xhr_any[xhrDataSymbol] !== undefined) {
179
- return xhr_any[xhrDataSymbol];
180
- }
181
- const data = {
182
- url: "",
183
- didSubstitute: false
184
- };
185
- xhr_any[xhrDataSymbol] = data;
186
- return data;
187
- };
207
+ const stateByInstance = new WeakMap();
188
208
  XMLHttpRequest.prototype.open = function open(method, url, async, username, password) {
189
- const xhrData = getXhrData(this);
190
- xhrData.url = typeof url === "string" ? url : url.href;
191
- xhrData.didSubstitute = false;
209
+ const state = { url: "", didSubstitute: false };
210
+ {
211
+ const url_str = typeof url === "string" ? url : url.href;
212
+ state.url = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: url_str, doEncodeUriComponent: true });
213
+ if (url_str !== state.url) {
214
+ state.didSubstitute = true;
215
+ }
216
+ }
217
+ stateByInstance.set(this, state);
218
+ prevent_fetching_of_hashed_js_assets: {
219
+ const { pathname } = new URL(state.url, window.location.href);
220
+ if (!viteHashedJsAssetPathRegExp.test(pathname)) {
221
+ break prevent_fetching_of_hashed_js_assets;
222
+ }
223
+ throw new Error("oidc-spa: Blocked request to hashed static asset.");
224
+ }
192
225
  if (async === undefined) {
193
226
  return open_actual.bind(this)(method, url);
194
227
  }
@@ -197,35 +230,33 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
197
230
  }
198
231
  };
199
232
  XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
200
- const xhrData = getXhrData(this);
201
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
233
+ const state = stateByInstance.get(this);
234
+ (0, assert_1.assert)(state !== undefined, "29440283");
235
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: value, doEncodeUriComponent: false });
202
236
  if (nextValue !== value) {
203
- xhrData.didSubstitute = true;
237
+ state.didSubstitute = true;
204
238
  }
205
239
  return setRequestHeader_actual.call(this, name, nextValue);
206
240
  };
207
241
  XMLHttpRequest.prototype.send = function send(body) {
208
- const xhrData = getXhrData(this);
209
- prevent_fetching_of_hashed_js_assets: {
210
- const { pathname } = new URL(xhrData.url, window.location.href);
211
- if (!viteHashedJsAssetPathRegExp.test(pathname)) {
212
- break prevent_fetching_of_hashed_js_assets;
213
- }
214
- throw new Error("oidc-spa: Blocked request to hashed static asset.");
215
- }
242
+ const state = stateByInstance.get(this);
243
+ (0, assert_1.assert)(state !== undefined, "32323484");
216
244
  let nextBody = body;
217
245
  if (typeof body === "string") {
218
- const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(body);
246
+ const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
247
+ text: body,
248
+ doEncodeUriComponent: false
249
+ });
219
250
  if (nextBodyText !== body) {
220
- xhrData.didSubstitute = true;
251
+ state.didSubstitute = true;
221
252
  }
222
253
  nextBody = nextBodyText;
223
254
  }
224
255
  block_authed_request_to_unauthorized_hostnames: {
225
- if (!xhrData.didSubstitute) {
256
+ if (!state.didSubstitute) {
226
257
  break block_authed_request_to_unauthorized_hostnames;
227
258
  }
228
- const { hostname } = new URL(xhrData.url, window.location.href);
259
+ const { hostname } = new URL(state.url, window.location.href);
229
260
  if ((0, isHostnameAuthorized_1.getIsHostnameAuthorized)({
230
261
  allowedHostnames: resourceServersAllowedHostnames,
231
262
  extendAuthorizationToParentDomain: true,
@@ -249,32 +280,8 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
249
280
  const wsDataByWs = new WeakMap();
250
281
  const WebSocketPatched = function WebSocket(url, protocols) {
251
282
  const urlStr = typeof url === "string" ? url : url.href;
252
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
283
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
253
284
  let didSubstitute = nextUrl !== urlStr;
254
- const nextProtocols = (() => {
255
- if (protocols === undefined) {
256
- return protocols;
257
- }
258
- if (typeof protocols === "string") {
259
- const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(protocols);
260
- if (next !== protocols) {
261
- didSubstitute = true;
262
- }
263
- return next;
264
- }
265
- let didProtocolsSubstitute = false;
266
- const next = protocols.map(protocol => {
267
- const nextProtocol = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(protocol);
268
- if (nextProtocol !== protocol) {
269
- didProtocolsSubstitute = true;
270
- }
271
- return nextProtocol;
272
- });
273
- if (didProtocolsSubstitute) {
274
- didSubstitute = true;
275
- }
276
- return next;
277
- })();
278
285
  const { hostname, pathname } = new URL(nextUrl, window.location.href);
279
286
  block_authed_request_to_unauthorized_hostnames: {
280
287
  if (!didSubstitute) {
@@ -293,7 +300,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
293
300
  "`resourceServersAllowedHostnames`."
294
301
  ].join(" "));
295
302
  }
296
- const ws = new WebSocket_actual(nextUrl, nextProtocols);
303
+ const ws = new WebSocket_actual(nextUrl, protocols);
297
304
  wsDataByWs.set(ws, {
298
305
  url: nextUrl,
299
306
  hostname,
@@ -320,7 +327,10 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
320
327
  }
321
328
  let nextData = data;
322
329
  if (typeof data === "string") {
323
- const nextDataText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(data);
330
+ const nextDataText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
331
+ text: data,
332
+ doEncodeUriComponent: false
333
+ });
324
334
  if (nextDataText !== data) {
325
335
  wsData.didSubstitute = true;
326
336
  }
@@ -360,7 +370,7 @@ function patchEventSourceApiToSubstituteTokenPlaceholder(params) {
360
370
  }
361
371
  const EventSourcePatched = function EventSource(url, eventSourceInitDict) {
362
372
  const urlStr = typeof url === "string" ? url : url.href;
363
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
373
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
364
374
  const didSubstitute = nextUrl !== urlStr;
365
375
  const { hostname } = new URL(nextUrl, window.location.href);
366
376
  block_authed_request_to_unauthorized_hostnames: {
@@ -403,12 +413,12 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
403
413
  }
404
414
  navigator.sendBeacon = function sendBeacon(url, data) {
405
415
  const urlStr = typeof url === "string" ? url : url.href;
406
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
416
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
407
417
  let didSubstitute = nextUrl !== urlStr;
408
418
  const { hostname } = new URL(nextUrl, window.location.href);
409
419
  let nextData = data;
410
420
  if (typeof data === "string") {
411
- const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(data);
421
+ const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: data, doEncodeUriComponent: false });
412
422
  if (next !== data) {
413
423
  didSubstitute = true;
414
424
  }
@@ -418,7 +428,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
418
428
  let didUrlSearchParamsSubstitute = false;
419
429
  const next = new URLSearchParams();
420
430
  data.forEach((value, key) => {
421
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
431
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
432
+ text: value,
433
+ doEncodeUriComponent: false
434
+ });
422
435
  if (nextValue !== value) {
423
436
  didUrlSearchParamsSubstitute = true;
424
437
  }
@@ -434,7 +447,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
434
447
  const next = new FormData();
435
448
  data.forEach((value, key) => {
436
449
  if (typeof value === "string") {
437
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
450
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
451
+ text: value,
452
+ doEncodeUriComponent: false
453
+ });
438
454
  if (nextValue !== value) {
439
455
  didFormDataSubstitute = true;
440
456
  }
@@ -484,6 +500,7 @@ function runMonkeyPatchingPrevention() {
484
500
  "ServiceWorkerRegistration",
485
501
  "ServiceWorker",
486
502
  "FormData",
503
+ "WeakMap",
487
504
  "Blob",
488
505
  "String",
489
506
  "Object",
@@ -1 +1 @@
1
- {"version":3,"file":"tokenExfiltrationDefense.js","sourceRoot":"","sources":["../src/core/tokenExfiltrationDefense.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenExfiltrationDefense.js","sourceRoot":"","sources":["../src/core/tokenExfiltrationDefense.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,8 @@ export declare function getTokensPlaceholders(params: {
9
9
  configId: string;
10
10
  tokens: Tokens;
11
11
  }): Tokens;
12
- export declare function substitutePlaceholderByRealToken(text: string): string;
12
+ export declare function substitutePlaceholderByRealToken(params: {
13
+ text: string;
14
+ doEncodeUriComponent: boolean;
15
+ }): string;
13
16
  export {};
@@ -46,7 +46,8 @@ function getTokensPlaceholders(params) {
46
46
  refreshToken: tokens.refreshToken === undefined ? undefined : `refresh_token_placeholder_${id}`
47
47
  };
48
48
  }
49
- function substitutePlaceholderByRealToken(text) {
49
+ function substitutePlaceholderByRealToken(params) {
50
+ const { text, doEncodeUriComponent } = params;
50
51
  let text_modified = text;
51
52
  for (const [tokenType, regExp] of [
52
53
  ["access_token", /access_token_placeholder_(\d+)/g],
@@ -63,15 +64,18 @@ function substitutePlaceholderByRealToken(text) {
63
64
  "is needed, it should be requested and used immediately."
64
65
  ].join(" "));
65
66
  }
66
- switch (tokenType) {
67
- case "access_token":
68
- return entry.tokens.accessToken;
69
- case "id_token":
70
- return entry.tokens.idToken;
71
- case "refresh_token":
72
- (0, assert_1.assert)(entry.tokens.refreshToken !== undefined, "204392284");
73
- return entry.tokens.refreshToken;
74
- }
67
+ const token = (() => {
68
+ switch (tokenType) {
69
+ case "access_token":
70
+ return entry.tokens.accessToken;
71
+ case "id_token":
72
+ return entry.tokens.idToken;
73
+ case "refresh_token":
74
+ (0, assert_1.assert)(entry.tokens.refreshToken !== undefined, "204392284");
75
+ return entry.tokens.refreshToken;
76
+ }
77
+ })();
78
+ return doEncodeUriComponent ? encodeURIComponent(token) : token;
75
79
  });
76
80
  }
77
81
  return text_modified;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenPlaceholderSubstitution.js","sourceRoot":"","sources":["../src/core/tokenPlaceholderSubstitution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenPlaceholderSubstitution.js","sourceRoot":"","sources":["../src/core/tokenPlaceholderSubstitution.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ import { getHomeAndRedirectUri } from "./homeAndRedirectUri";
35
35
  import { ensureNonBlankPaint } from "../tools/ensureNonBlankPaint";
36
36
  import { setStateDataCookieIfEnabled, clearStateDataCookie, getIsStateDataCookieEnabled } from "./StateDataCookie";
37
37
  // NOTE: Replaced at build time
38
- const VERSION = "8.5.1";
38
+ const VERSION = "8.5.3";
39
39
  const globalContext = {
40
40
  prOidcByConfigId: new Map(),
41
41
  hasLogoutBeenCalled: id(false)