oidc-spa 8.5.2 → 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.2";
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;
@@ -173,7 +196,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
173
196
  nextInit.duplex = duplex;
174
197
  }
175
198
  }
176
- return fetch_actual(request.url, nextInit);
199
+ return fetch_actual(url, nextInit);
177
200
  };
178
201
  }
179
202
  function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
@@ -181,23 +204,24 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
181
204
  const open_actual = XMLHttpRequest.prototype.open;
182
205
  const send_actual = XMLHttpRequest.prototype.send;
183
206
  const setRequestHeader_actual = XMLHttpRequest.prototype.setRequestHeader;
184
- const xhrDataSymbol = Symbol("oidc-spa XMLHttpRequest data");
185
- const getXhrData = (xhr) => {
186
- const xhr_any = xhr;
187
- if (xhr_any[xhrDataSymbol] !== undefined) {
188
- return xhr_any[xhrDataSymbol];
189
- }
190
- const data = {
191
- url: "",
192
- didSubstitute: false
193
- };
194
- xhr_any[xhrDataSymbol] = data;
195
- return data;
196
- };
207
+ const stateByInstance = new WeakMap();
197
208
  XMLHttpRequest.prototype.open = function open(method, url, async, username, password) {
198
- const xhrData = getXhrData(this);
199
- xhrData.url = typeof url === "string" ? url : url.href;
200
- 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
+ }
201
225
  if (async === undefined) {
202
226
  return open_actual.bind(this)(method, url);
203
227
  }
@@ -206,35 +230,33 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
206
230
  }
207
231
  };
208
232
  XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
209
- const xhrData = getXhrData(this);
210
- 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 });
211
236
  if (nextValue !== value) {
212
- xhrData.didSubstitute = true;
237
+ state.didSubstitute = true;
213
238
  }
214
239
  return setRequestHeader_actual.call(this, name, nextValue);
215
240
  };
216
241
  XMLHttpRequest.prototype.send = function send(body) {
217
- const xhrData = getXhrData(this);
218
- prevent_fetching_of_hashed_js_assets: {
219
- const { pathname } = new URL(xhrData.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
- }
242
+ const state = stateByInstance.get(this);
243
+ (0, assert_1.assert)(state !== undefined, "32323484");
225
244
  let nextBody = body;
226
245
  if (typeof body === "string") {
227
- const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(body);
246
+ const nextBodyText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
247
+ text: body,
248
+ doEncodeUriComponent: false
249
+ });
228
250
  if (nextBodyText !== body) {
229
- xhrData.didSubstitute = true;
251
+ state.didSubstitute = true;
230
252
  }
231
253
  nextBody = nextBodyText;
232
254
  }
233
255
  block_authed_request_to_unauthorized_hostnames: {
234
- if (!xhrData.didSubstitute) {
256
+ if (!state.didSubstitute) {
235
257
  break block_authed_request_to_unauthorized_hostnames;
236
258
  }
237
- const { hostname } = new URL(xhrData.url, window.location.href);
259
+ const { hostname } = new URL(state.url, window.location.href);
238
260
  if ((0, isHostnameAuthorized_1.getIsHostnameAuthorized)({
239
261
  allowedHostnames: resourceServersAllowedHostnames,
240
262
  extendAuthorizationToParentDomain: true,
@@ -258,32 +280,8 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
258
280
  const wsDataByWs = new WeakMap();
259
281
  const WebSocketPatched = function WebSocket(url, protocols) {
260
282
  const urlStr = typeof url === "string" ? url : url.href;
261
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
283
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
262
284
  let didSubstitute = nextUrl !== urlStr;
263
- const nextProtocols = (() => {
264
- if (protocols === undefined) {
265
- return protocols;
266
- }
267
- if (typeof protocols === "string") {
268
- const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(protocols);
269
- if (next !== protocols) {
270
- didSubstitute = true;
271
- }
272
- return next;
273
- }
274
- let didProtocolsSubstitute = false;
275
- const next = protocols.map(protocol => {
276
- const nextProtocol = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(protocol);
277
- if (nextProtocol !== protocol) {
278
- didProtocolsSubstitute = true;
279
- }
280
- return nextProtocol;
281
- });
282
- if (didProtocolsSubstitute) {
283
- didSubstitute = true;
284
- }
285
- return next;
286
- })();
287
285
  const { hostname, pathname } = new URL(nextUrl, window.location.href);
288
286
  block_authed_request_to_unauthorized_hostnames: {
289
287
  if (!didSubstitute) {
@@ -302,7 +300,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
302
300
  "`resourceServersAllowedHostnames`."
303
301
  ].join(" "));
304
302
  }
305
- const ws = new WebSocket_actual(nextUrl, nextProtocols);
303
+ const ws = new WebSocket_actual(nextUrl, protocols);
306
304
  wsDataByWs.set(ws, {
307
305
  url: nextUrl,
308
306
  hostname,
@@ -329,7 +327,10 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
329
327
  }
330
328
  let nextData = data;
331
329
  if (typeof data === "string") {
332
- const nextDataText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(data);
330
+ const nextDataText = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
331
+ text: data,
332
+ doEncodeUriComponent: false
333
+ });
333
334
  if (nextDataText !== data) {
334
335
  wsData.didSubstitute = true;
335
336
  }
@@ -369,7 +370,7 @@ function patchEventSourceApiToSubstituteTokenPlaceholder(params) {
369
370
  }
370
371
  const EventSourcePatched = function EventSource(url, eventSourceInitDict) {
371
372
  const urlStr = typeof url === "string" ? url : url.href;
372
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
373
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
373
374
  const didSubstitute = nextUrl !== urlStr;
374
375
  const { hostname } = new URL(nextUrl, window.location.href);
375
376
  block_authed_request_to_unauthorized_hostnames: {
@@ -412,12 +413,12 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
412
413
  }
413
414
  navigator.sendBeacon = function sendBeacon(url, data) {
414
415
  const urlStr = typeof url === "string" ? url : url.href;
415
- const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(urlStr);
416
+ const nextUrl = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: urlStr, doEncodeUriComponent: true });
416
417
  let didSubstitute = nextUrl !== urlStr;
417
418
  const { hostname } = new URL(nextUrl, window.location.href);
418
419
  let nextData = data;
419
420
  if (typeof data === "string") {
420
- const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(data);
421
+ const next = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({ text: data, doEncodeUriComponent: false });
421
422
  if (next !== data) {
422
423
  didSubstitute = true;
423
424
  }
@@ -427,7 +428,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
427
428
  let didUrlSearchParamsSubstitute = false;
428
429
  const next = new URLSearchParams();
429
430
  data.forEach((value, key) => {
430
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
431
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
432
+ text: value,
433
+ doEncodeUriComponent: false
434
+ });
431
435
  if (nextValue !== value) {
432
436
  didUrlSearchParamsSubstitute = true;
433
437
  }
@@ -443,7 +447,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
443
447
  const next = new FormData();
444
448
  data.forEach((value, key) => {
445
449
  if (typeof value === "string") {
446
- const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)(value);
450
+ const nextValue = (0, tokenPlaceholderSubstitution_1.substitutePlaceholderByRealToken)({
451
+ text: value,
452
+ doEncodeUriComponent: false
453
+ });
447
454
  if (nextValue !== value) {
448
455
  didFormDataSubstitute = true;
449
456
  }
@@ -493,6 +500,7 @@ function runMonkeyPatchingPrevention() {
493
500
  "ServiceWorkerRegistration",
494
501
  "ServiceWorker",
495
502
  "FormData",
503
+ "WeakMap",
496
504
  "Blob",
497
505
  "String",
498
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.2";
38
+ const VERSION = "8.5.3";
39
39
  const globalContext = {
40
40
  prOidcByConfigId: new Map(),
41
41
  hasLogoutBeenCalled: id(false)
@@ -28,7 +28,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
28
28
  let didSubstitute = false;
29
29
  const headers = new Headers();
30
30
  request.headers.forEach((value, key) => {
31
- const nextValue = substitutePlaceholderByRealToken(value);
31
+ const nextValue = substitutePlaceholderByRealToken({
32
+ text: value,
33
+ doEncodeUriComponent: false
34
+ });
32
35
  if (nextValue !== value) {
33
36
  didSubstitute = true;
34
37
  }
@@ -47,7 +50,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
47
50
  break from_init;
48
51
  }
49
52
  if (typeof init.body === "string") {
50
- body = substitutePlaceholderByRealToken(init.body);
53
+ body = substitutePlaceholderByRealToken({
54
+ text: init.body,
55
+ doEncodeUriComponent: false
56
+ });
51
57
  if (init.body !== body) {
52
58
  didSubstitute = true;
53
59
  }
@@ -57,7 +63,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
57
63
  let didUrlSearchParamsSubstitute = false;
58
64
  const next = new URLSearchParams();
59
65
  init.body.forEach((value, key) => {
60
- const nextValue = substitutePlaceholderByRealToken(value);
66
+ const nextValue = substitutePlaceholderByRealToken({
67
+ text: value,
68
+ doEncodeUriComponent: false
69
+ });
61
70
  if (nextValue !== value) {
62
71
  didUrlSearchParamsSubstitute = true;
63
72
  }
@@ -74,7 +83,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
74
83
  const next = new FormData();
75
84
  init.body.forEach((value, key) => {
76
85
  if (typeof value === "string") {
77
- const nextValue = substitutePlaceholderByRealToken(value);
86
+ const nextValue = substitutePlaceholderByRealToken({
87
+ text: value,
88
+ doEncodeUriComponent: false
89
+ });
78
90
  if (nextValue !== value) {
79
91
  didFormDataSubstitute = true;
80
92
  }
@@ -124,12 +136,23 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
124
136
  break handle_body;
125
137
  }
126
138
  const bodyText = await request.clone().text();
127
- const nextBodyText = substitutePlaceholderByRealToken(bodyText);
139
+ const nextBodyText = substitutePlaceholderByRealToken({
140
+ text: bodyText,
141
+ doEncodeUriComponent: false
142
+ });
128
143
  if (nextBodyText !== bodyText) {
129
144
  didSubstitute = true;
130
145
  }
131
146
  body = nextBodyText;
132
147
  }
148
+ let url;
149
+ {
150
+ const url_before = request.url;
151
+ url = substitutePlaceholderByRealToken({ text: url_before, doEncodeUriComponent: true });
152
+ if (url !== url_before) {
153
+ didSubstitute = true;
154
+ }
155
+ }
133
156
  block_authed_request_to_unauthorized_hostnames: {
134
157
  if (!didSubstitute) {
135
158
  break block_authed_request_to_unauthorized_hostnames;
@@ -170,7 +193,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
170
193
  nextInit.duplex = duplex;
171
194
  }
172
195
  }
173
- return fetch_actual(request.url, nextInit);
196
+ return fetch_actual(url, nextInit);
174
197
  };
175
198
  }
176
199
  function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
@@ -178,23 +201,24 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
178
201
  const open_actual = XMLHttpRequest.prototype.open;
179
202
  const send_actual = XMLHttpRequest.prototype.send;
180
203
  const setRequestHeader_actual = XMLHttpRequest.prototype.setRequestHeader;
181
- const xhrDataSymbol = Symbol("oidc-spa XMLHttpRequest data");
182
- const getXhrData = (xhr) => {
183
- const xhr_any = xhr;
184
- if (xhr_any[xhrDataSymbol] !== undefined) {
185
- return xhr_any[xhrDataSymbol];
186
- }
187
- const data = {
188
- url: "",
189
- didSubstitute: false
190
- };
191
- xhr_any[xhrDataSymbol] = data;
192
- return data;
193
- };
204
+ const stateByInstance = new WeakMap();
194
205
  XMLHttpRequest.prototype.open = function open(method, url, async, username, password) {
195
- const xhrData = getXhrData(this);
196
- xhrData.url = typeof url === "string" ? url : url.href;
197
- xhrData.didSubstitute = false;
206
+ const state = { url: "", didSubstitute: false };
207
+ {
208
+ const url_str = typeof url === "string" ? url : url.href;
209
+ state.url = substitutePlaceholderByRealToken({ text: url_str, doEncodeUriComponent: true });
210
+ if (url_str !== state.url) {
211
+ state.didSubstitute = true;
212
+ }
213
+ }
214
+ stateByInstance.set(this, state);
215
+ prevent_fetching_of_hashed_js_assets: {
216
+ const { pathname } = new URL(state.url, window.location.href);
217
+ if (!viteHashedJsAssetPathRegExp.test(pathname)) {
218
+ break prevent_fetching_of_hashed_js_assets;
219
+ }
220
+ throw new Error("oidc-spa: Blocked request to hashed static asset.");
221
+ }
198
222
  if (async === undefined) {
199
223
  return open_actual.bind(this)(method, url);
200
224
  }
@@ -203,35 +227,33 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
203
227
  }
204
228
  };
205
229
  XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
206
- const xhrData = getXhrData(this);
207
- const nextValue = substitutePlaceholderByRealToken(value);
230
+ const state = stateByInstance.get(this);
231
+ assert(state !== undefined, "29440283");
232
+ const nextValue = substitutePlaceholderByRealToken({ text: value, doEncodeUriComponent: false });
208
233
  if (nextValue !== value) {
209
- xhrData.didSubstitute = true;
234
+ state.didSubstitute = true;
210
235
  }
211
236
  return setRequestHeader_actual.call(this, name, nextValue);
212
237
  };
213
238
  XMLHttpRequest.prototype.send = function send(body) {
214
- const xhrData = getXhrData(this);
215
- prevent_fetching_of_hashed_js_assets: {
216
- const { pathname } = new URL(xhrData.url, window.location.href);
217
- if (!viteHashedJsAssetPathRegExp.test(pathname)) {
218
- break prevent_fetching_of_hashed_js_assets;
219
- }
220
- throw new Error("oidc-spa: Blocked request to hashed static asset.");
221
- }
239
+ const state = stateByInstance.get(this);
240
+ assert(state !== undefined, "32323484");
222
241
  let nextBody = body;
223
242
  if (typeof body === "string") {
224
- const nextBodyText = substitutePlaceholderByRealToken(body);
243
+ const nextBodyText = substitutePlaceholderByRealToken({
244
+ text: body,
245
+ doEncodeUriComponent: false
246
+ });
225
247
  if (nextBodyText !== body) {
226
- xhrData.didSubstitute = true;
248
+ state.didSubstitute = true;
227
249
  }
228
250
  nextBody = nextBodyText;
229
251
  }
230
252
  block_authed_request_to_unauthorized_hostnames: {
231
- if (!xhrData.didSubstitute) {
253
+ if (!state.didSubstitute) {
232
254
  break block_authed_request_to_unauthorized_hostnames;
233
255
  }
234
- const { hostname } = new URL(xhrData.url, window.location.href);
256
+ const { hostname } = new URL(state.url, window.location.href);
235
257
  if (getIsHostnameAuthorized({
236
258
  allowedHostnames: resourceServersAllowedHostnames,
237
259
  extendAuthorizationToParentDomain: true,
@@ -255,32 +277,8 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
255
277
  const wsDataByWs = new WeakMap();
256
278
  const WebSocketPatched = function WebSocket(url, protocols) {
257
279
  const urlStr = typeof url === "string" ? url : url.href;
258
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
280
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
259
281
  let didSubstitute = nextUrl !== urlStr;
260
- const nextProtocols = (() => {
261
- if (protocols === undefined) {
262
- return protocols;
263
- }
264
- if (typeof protocols === "string") {
265
- const next = substitutePlaceholderByRealToken(protocols);
266
- if (next !== protocols) {
267
- didSubstitute = true;
268
- }
269
- return next;
270
- }
271
- let didProtocolsSubstitute = false;
272
- const next = protocols.map(protocol => {
273
- const nextProtocol = substitutePlaceholderByRealToken(protocol);
274
- if (nextProtocol !== protocol) {
275
- didProtocolsSubstitute = true;
276
- }
277
- return nextProtocol;
278
- });
279
- if (didProtocolsSubstitute) {
280
- didSubstitute = true;
281
- }
282
- return next;
283
- })();
284
282
  const { hostname, pathname } = new URL(nextUrl, window.location.href);
285
283
  block_authed_request_to_unauthorized_hostnames: {
286
284
  if (!didSubstitute) {
@@ -299,7 +297,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
299
297
  "`resourceServersAllowedHostnames`."
300
298
  ].join(" "));
301
299
  }
302
- const ws = new WebSocket_actual(nextUrl, nextProtocols);
300
+ const ws = new WebSocket_actual(nextUrl, protocols);
303
301
  wsDataByWs.set(ws, {
304
302
  url: nextUrl,
305
303
  hostname,
@@ -326,7 +324,10 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
326
324
  }
327
325
  let nextData = data;
328
326
  if (typeof data === "string") {
329
- const nextDataText = substitutePlaceholderByRealToken(data);
327
+ const nextDataText = substitutePlaceholderByRealToken({
328
+ text: data,
329
+ doEncodeUriComponent: false
330
+ });
330
331
  if (nextDataText !== data) {
331
332
  wsData.didSubstitute = true;
332
333
  }
@@ -366,7 +367,7 @@ function patchEventSourceApiToSubstituteTokenPlaceholder(params) {
366
367
  }
367
368
  const EventSourcePatched = function EventSource(url, eventSourceInitDict) {
368
369
  const urlStr = typeof url === "string" ? url : url.href;
369
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
370
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
370
371
  const didSubstitute = nextUrl !== urlStr;
371
372
  const { hostname } = new URL(nextUrl, window.location.href);
372
373
  block_authed_request_to_unauthorized_hostnames: {
@@ -409,12 +410,12 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
409
410
  }
410
411
  navigator.sendBeacon = function sendBeacon(url, data) {
411
412
  const urlStr = typeof url === "string" ? url : url.href;
412
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
413
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
413
414
  let didSubstitute = nextUrl !== urlStr;
414
415
  const { hostname } = new URL(nextUrl, window.location.href);
415
416
  let nextData = data;
416
417
  if (typeof data === "string") {
417
- const next = substitutePlaceholderByRealToken(data);
418
+ const next = substitutePlaceholderByRealToken({ text: data, doEncodeUriComponent: false });
418
419
  if (next !== data) {
419
420
  didSubstitute = true;
420
421
  }
@@ -424,7 +425,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
424
425
  let didUrlSearchParamsSubstitute = false;
425
426
  const next = new URLSearchParams();
426
427
  data.forEach((value, key) => {
427
- const nextValue = substitutePlaceholderByRealToken(value);
428
+ const nextValue = substitutePlaceholderByRealToken({
429
+ text: value,
430
+ doEncodeUriComponent: false
431
+ });
428
432
  if (nextValue !== value) {
429
433
  didUrlSearchParamsSubstitute = true;
430
434
  }
@@ -440,7 +444,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
440
444
  const next = new FormData();
441
445
  data.forEach((value, key) => {
442
446
  if (typeof value === "string") {
443
- const nextValue = substitutePlaceholderByRealToken(value);
447
+ const nextValue = substitutePlaceholderByRealToken({
448
+ text: value,
449
+ doEncodeUriComponent: false
450
+ });
444
451
  if (nextValue !== value) {
445
452
  didFormDataSubstitute = true;
446
453
  }
@@ -490,6 +497,7 @@ function runMonkeyPatchingPrevention() {
490
497
  "ServiceWorkerRegistration",
491
498
  "ServiceWorker",
492
499
  "FormData",
500
+ "WeakMap",
493
501
  "Blob",
494
502
  "String",
495
503
  "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 {};
@@ -40,7 +40,8 @@ export function getTokensPlaceholders(params) {
40
40
  refreshToken: tokens.refreshToken === undefined ? undefined : `refresh_token_placeholder_${id}`
41
41
  };
42
42
  }
43
- export function substitutePlaceholderByRealToken(text) {
43
+ export function substitutePlaceholderByRealToken(params) {
44
+ const { text, doEncodeUriComponent } = params;
44
45
  let text_modified = text;
45
46
  for (const [tokenType, regExp] of [
46
47
  ["access_token", /access_token_placeholder_(\d+)/g],
@@ -57,15 +58,18 @@ export function substitutePlaceholderByRealToken(text) {
57
58
  "is needed, it should be requested and used immediately."
58
59
  ].join(" "));
59
60
  }
60
- switch (tokenType) {
61
- case "access_token":
62
- return entry.tokens.accessToken;
63
- case "id_token":
64
- return entry.tokens.idToken;
65
- case "refresh_token":
66
- assert(entry.tokens.refreshToken !== undefined, "204392284");
67
- return entry.tokens.refreshToken;
68
- }
61
+ const token = (() => {
62
+ switch (tokenType) {
63
+ case "access_token":
64
+ return entry.tokens.accessToken;
65
+ case "id_token":
66
+ return entry.tokens.idToken;
67
+ case "refresh_token":
68
+ assert(entry.tokens.refreshToken !== undefined, "204392284");
69
+ return entry.tokens.refreshToken;
70
+ }
71
+ })();
72
+ return doEncodeUriComponent ? encodeURIComponent(token) : token;
69
73
  });
70
74
  }
71
75
  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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "8.5.2",
3
+ "version": "8.5.3",
4
4
  "description": "OIDC Client for Client Centric Web Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -51,7 +51,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
51
51
 
52
52
  const headers = new Headers();
53
53
  request.headers.forEach((value, key) => {
54
- const nextValue = substitutePlaceholderByRealToken(value);
54
+ const nextValue = substitutePlaceholderByRealToken({
55
+ text: value,
56
+ doEncodeUriComponent: false
57
+ });
55
58
 
56
59
  if (nextValue !== value) {
57
60
  didSubstitute = true;
@@ -77,7 +80,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
77
80
  }
78
81
 
79
82
  if (typeof init.body === "string") {
80
- body = substitutePlaceholderByRealToken(init.body);
83
+ body = substitutePlaceholderByRealToken({
84
+ text: init.body,
85
+ doEncodeUriComponent: false
86
+ });
81
87
 
82
88
  if (init.body !== body) {
83
89
  didSubstitute = true;
@@ -91,7 +97,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
91
97
  const next = new URLSearchParams();
92
98
 
93
99
  init.body.forEach((value, key) => {
94
- const nextValue = substitutePlaceholderByRealToken(value);
100
+ const nextValue = substitutePlaceholderByRealToken({
101
+ text: value,
102
+ doEncodeUriComponent: false
103
+ });
95
104
 
96
105
  if (nextValue !== value) {
97
106
  didUrlSearchParamsSubstitute = true;
@@ -115,7 +124,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
115
124
 
116
125
  init.body.forEach((value, key) => {
117
126
  if (typeof value === "string") {
118
- const nextValue = substitutePlaceholderByRealToken(value);
127
+ const nextValue = substitutePlaceholderByRealToken({
128
+ text: value,
129
+ doEncodeUriComponent: false
130
+ });
119
131
 
120
132
  if (nextValue !== value) {
121
133
  didFormDataSubstitute = true;
@@ -188,7 +200,10 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
188
200
  }
189
201
 
190
202
  const bodyText = await request.clone().text();
191
- const nextBodyText = substitutePlaceholderByRealToken(bodyText);
203
+ const nextBodyText = substitutePlaceholderByRealToken({
204
+ text: bodyText,
205
+ doEncodeUriComponent: false
206
+ });
192
207
 
193
208
  if (nextBodyText !== bodyText) {
194
209
  didSubstitute = true;
@@ -197,6 +212,18 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
197
212
  body = nextBodyText;
198
213
  }
199
214
 
215
+ let url: string;
216
+
217
+ {
218
+ const url_before = request.url;
219
+
220
+ url = substitutePlaceholderByRealToken({ text: url_before, doEncodeUriComponent: true });
221
+
222
+ if (url !== url_before) {
223
+ didSubstitute = true;
224
+ }
225
+ }
226
+
200
227
  block_authed_request_to_unauthorized_hostnames: {
201
228
  if (!didSubstitute) {
202
229
  break block_authed_request_to_unauthorized_hostnames;
@@ -248,7 +275,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params: {
248
275
  }
249
276
  }
250
277
 
251
- return fetch_actual(request.url, nextInit);
278
+ return fetch_actual(url, nextInit);
252
279
  };
253
280
  }
254
281
 
@@ -261,29 +288,7 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params: {
261
288
  const send_actual = XMLHttpRequest.prototype.send;
262
289
  const setRequestHeader_actual = XMLHttpRequest.prototype.setRequestHeader;
263
290
 
264
- type XhrData = {
265
- url: string;
266
- didSubstitute: boolean;
267
- };
268
-
269
- const xhrDataSymbol = Symbol("oidc-spa XMLHttpRequest data");
270
-
271
- const getXhrData = (xhr: XMLHttpRequest): XhrData => {
272
- const xhr_any = xhr as any;
273
-
274
- if (xhr_any[xhrDataSymbol] !== undefined) {
275
- return xhr_any[xhrDataSymbol];
276
- }
277
-
278
- const data: XhrData = {
279
- url: "",
280
- didSubstitute: false
281
- };
282
-
283
- xhr_any[xhrDataSymbol] = data;
284
-
285
- return data;
286
- };
291
+ const stateByInstance = new WeakMap<XMLHttpRequest, { url: string; didSubstitute: boolean }>();
287
292
 
288
293
  XMLHttpRequest.prototype.open = function open(
289
294
  method: string,
@@ -292,10 +297,27 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params: {
292
297
  username?: string | null,
293
298
  password?: string | null
294
299
  ) {
295
- const xhrData = getXhrData(this);
300
+ const state = { url: "", didSubstitute: false };
296
301
 
297
- xhrData.url = typeof url === "string" ? url : url.href;
298
- xhrData.didSubstitute = false;
302
+ {
303
+ const url_str = typeof url === "string" ? url : url.href;
304
+ state.url = substitutePlaceholderByRealToken({ text: url_str, doEncodeUriComponent: true });
305
+ if (url_str !== state.url) {
306
+ state.didSubstitute = true;
307
+ }
308
+ }
309
+
310
+ stateByInstance.set(this, state);
311
+
312
+ prevent_fetching_of_hashed_js_assets: {
313
+ const { pathname } = new URL(state.url, window.location.href);
314
+
315
+ if (!viteHashedJsAssetPathRegExp.test(pathname)) {
316
+ break prevent_fetching_of_hashed_js_assets;
317
+ }
318
+
319
+ throw new Error("oidc-spa: Blocked request to hashed static asset.");
320
+ }
299
321
 
300
322
  if (async === undefined) {
301
323
  return open_actual.bind(this)(method, url);
@@ -305,47 +327,45 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params: {
305
327
  };
306
328
 
307
329
  XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
308
- const xhrData = getXhrData(this);
309
- const nextValue = substitutePlaceholderByRealToken(value);
330
+ const state = stateByInstance.get(this);
331
+
332
+ assert(state !== undefined, "29440283");
333
+
334
+ const nextValue = substitutePlaceholderByRealToken({ text: value, doEncodeUriComponent: false });
310
335
 
311
336
  if (nextValue !== value) {
312
- xhrData.didSubstitute = true;
337
+ state.didSubstitute = true;
313
338
  }
314
339
 
315
340
  return setRequestHeader_actual.call(this, name, nextValue);
316
341
  };
317
342
 
318
343
  XMLHttpRequest.prototype.send = function send(body) {
319
- const xhrData = getXhrData(this);
344
+ const state = stateByInstance.get(this);
320
345
 
321
- prevent_fetching_of_hashed_js_assets: {
322
- const { pathname } = new URL(xhrData.url, window.location.href);
323
-
324
- if (!viteHashedJsAssetPathRegExp.test(pathname)) {
325
- break prevent_fetching_of_hashed_js_assets;
326
- }
327
-
328
- throw new Error("oidc-spa: Blocked request to hashed static asset.");
329
- }
346
+ assert(state !== undefined, "32323484");
330
347
 
331
348
  let nextBody = body;
332
349
 
333
350
  if (typeof body === "string") {
334
- const nextBodyText = substitutePlaceholderByRealToken(body);
351
+ const nextBodyText = substitutePlaceholderByRealToken({
352
+ text: body,
353
+ doEncodeUriComponent: false
354
+ });
335
355
 
336
356
  if (nextBodyText !== body) {
337
- xhrData.didSubstitute = true;
357
+ state.didSubstitute = true;
338
358
  }
339
359
 
340
360
  nextBody = nextBodyText;
341
361
  }
342
362
 
343
363
  block_authed_request_to_unauthorized_hostnames: {
344
- if (!xhrData.didSubstitute) {
364
+ if (!state.didSubstitute) {
345
365
  break block_authed_request_to_unauthorized_hostnames;
346
366
  }
347
367
 
348
- const { hostname } = new URL(xhrData.url, window.location.href);
368
+ const { hostname } = new URL(state.url, window.location.href);
349
369
 
350
370
  if (
351
371
  getIsHostnameAuthorized({
@@ -389,43 +409,9 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params: {
389
409
 
390
410
  const WebSocketPatched = function WebSocket(url: string | URL, protocols?: string | string[]) {
391
411
  const urlStr = typeof url === "string" ? url : url.href;
392
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
412
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
393
413
  let didSubstitute = nextUrl !== urlStr;
394
414
 
395
- const nextProtocols = (() => {
396
- if (protocols === undefined) {
397
- return protocols;
398
- }
399
-
400
- if (typeof protocols === "string") {
401
- const next = substitutePlaceholderByRealToken(protocols);
402
-
403
- if (next !== protocols) {
404
- didSubstitute = true;
405
- }
406
-
407
- return next;
408
- }
409
-
410
- let didProtocolsSubstitute = false;
411
-
412
- const next = protocols.map(protocol => {
413
- const nextProtocol = substitutePlaceholderByRealToken(protocol);
414
-
415
- if (nextProtocol !== protocol) {
416
- didProtocolsSubstitute = true;
417
- }
418
-
419
- return nextProtocol;
420
- });
421
-
422
- if (didProtocolsSubstitute) {
423
- didSubstitute = true;
424
- }
425
-
426
- return next;
427
- })();
428
-
429
415
  const { hostname, pathname } = new URL(nextUrl, window.location.href);
430
416
 
431
417
  block_authed_request_to_unauthorized_hostnames: {
@@ -452,7 +438,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params: {
452
438
  );
453
439
  }
454
440
 
455
- const ws = new WebSocket_actual(nextUrl, nextProtocols as Parameters<typeof WebSocket>[1]);
441
+ const ws = new WebSocket_actual(nextUrl, protocols as Parameters<typeof WebSocket>[1]);
456
442
 
457
443
  wsDataByWs.set(ws, {
458
444
  url: nextUrl,
@@ -488,7 +474,10 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params: {
488
474
  let nextData = data;
489
475
 
490
476
  if (typeof data === "string") {
491
- const nextDataText = substitutePlaceholderByRealToken(data);
477
+ const nextDataText = substitutePlaceholderByRealToken({
478
+ text: data,
479
+ doEncodeUriComponent: false
480
+ });
492
481
 
493
482
  if (nextDataText !== data) {
494
483
  wsData.didSubstitute = true;
@@ -549,7 +538,7 @@ function patchEventSourceApiToSubstituteTokenPlaceholder(params: {
549
538
  eventSourceInitDict?: EventSourceInit
550
539
  ) {
551
540
  const urlStr = typeof url === "string" ? url : url.href;
552
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
541
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
553
542
  const didSubstitute = nextUrl !== urlStr;
554
543
 
555
544
  const { hostname } = new URL(nextUrl, window.location.href);
@@ -610,7 +599,7 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params: {
610
599
 
611
600
  navigator.sendBeacon = function sendBeacon(url: string | URL, data?: BodyInit | null) {
612
601
  const urlStr = typeof url === "string" ? url : url.href;
613
- const nextUrl = substitutePlaceholderByRealToken(urlStr);
602
+ const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
614
603
  let didSubstitute = nextUrl !== urlStr;
615
604
 
616
605
  const { hostname } = new URL(nextUrl, window.location.href);
@@ -618,7 +607,7 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params: {
618
607
  let nextData = data;
619
608
 
620
609
  if (typeof data === "string") {
621
- const next = substitutePlaceholderByRealToken(data);
610
+ const next = substitutePlaceholderByRealToken({ text: data, doEncodeUriComponent: false });
622
611
 
623
612
  if (next !== data) {
624
613
  didSubstitute = true;
@@ -630,7 +619,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params: {
630
619
  const next = new URLSearchParams();
631
620
 
632
621
  data.forEach((value, key) => {
633
- const nextValue = substitutePlaceholderByRealToken(value);
622
+ const nextValue = substitutePlaceholderByRealToken({
623
+ text: value,
624
+ doEncodeUriComponent: false
625
+ });
634
626
 
635
627
  if (nextValue !== value) {
636
628
  didUrlSearchParamsSubstitute = true;
@@ -649,7 +641,10 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params: {
649
641
 
650
642
  data.forEach((value, key) => {
651
643
  if (typeof value === "string") {
652
- const nextValue = substitutePlaceholderByRealToken(value);
644
+ const nextValue = substitutePlaceholderByRealToken({
645
+ text: value,
646
+ doEncodeUriComponent: false
647
+ });
653
648
 
654
649
  if (nextValue !== value) {
655
650
  didFormDataSubstitute = true;
@@ -717,6 +712,7 @@ function runMonkeyPatchingPrevention() {
717
712
  "ServiceWorkerRegistration",
718
713
  "ServiceWorker",
719
714
  "FormData",
715
+ "WeakMap",
720
716
  "Blob",
721
717
  "String",
722
718
  "Object",
@@ -66,7 +66,12 @@ export function getTokensPlaceholders(params: { configId: string; tokens: Tokens
66
66
  };
67
67
  }
68
68
 
69
- export function substitutePlaceholderByRealToken(text: string): string {
69
+ export function substitutePlaceholderByRealToken(params: {
70
+ text: string;
71
+ doEncodeUriComponent: boolean;
72
+ }): string {
73
+ const { text, doEncodeUriComponent } = params;
74
+
70
75
  let text_modified = text;
71
76
 
72
77
  for (const [tokenType, regExp] of [
@@ -89,15 +94,19 @@ export function substitutePlaceholderByRealToken(text: string): string {
89
94
  );
90
95
  }
91
96
 
92
- switch (tokenType) {
93
- case "access_token":
94
- return entry.tokens.accessToken;
95
- case "id_token":
96
- return entry.tokens.idToken;
97
- case "refresh_token":
98
- assert(entry.tokens.refreshToken !== undefined, "204392284");
99
- return entry.tokens.refreshToken;
100
- }
97
+ const token = (() => {
98
+ switch (tokenType) {
99
+ case "access_token":
100
+ return entry.tokens.accessToken;
101
+ case "id_token":
102
+ return entry.tokens.idToken;
103
+ case "refresh_token":
104
+ assert(entry.tokens.refreshToken !== undefined, "204392284");
105
+ return entry.tokens.refreshToken;
106
+ }
107
+ })();
108
+
109
+ return doEncodeUriComponent ? encodeURIComponent(token) : token;
101
110
  });
102
111
  }
103
112