oidc-spa 8.5.5 → 8.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.
@@ -1,18 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.markTokenSubstitutionAdEnabled = markTokenSubstitutionAdEnabled;
3
+ exports.markTokenSubstitutionAsEnabled = markTokenSubstitutionAsEnabled;
4
4
  exports.getIsTokenSubstitutionEnabled = getIsTokenSubstitutionEnabled;
5
5
  exports.getTokensPlaceholders = getTokensPlaceholders;
6
6
  exports.substitutePlaceholderByRealToken = substitutePlaceholderByRealToken;
7
7
  const assert_1 = require("../tools/tsafe/assert");
8
8
  let isTokenSubstitutionEnabled = false;
9
- function markTokenSubstitutionAdEnabled() {
9
+ function markTokenSubstitutionAsEnabled() {
10
10
  isTokenSubstitutionEnabled = true;
11
11
  }
12
12
  function getIsTokenSubstitutionEnabled() {
13
13
  return isTokenSubstitutionEnabled;
14
14
  }
15
15
  const entries = [];
16
+ function generatePlaceholderForToken(params) {
17
+ const { tokenType, token_real, id } = params;
18
+ const match = token_real.match(/^([A-Za-z0-9\-_]+)\.([A-Za-z0-9\-_]+)\.([A-Za-z0-9\-_]+)$/);
19
+ if (match === null) {
20
+ (0, assert_1.assert)(tokenType !== "id_token", "39232932927");
21
+ return `${tokenType}_placeholder_${id}`;
22
+ }
23
+ const [, header_b64, payload_b64, signature_b64] = match;
24
+ const signatureByteLength = (() => {
25
+ const b64 = signature_b64
26
+ .replace(/-/g, "+")
27
+ .replace(/_/g, "/")
28
+ .padEnd(Math.ceil(signature_b64.length / 4) * 4, "=");
29
+ const padding = b64.endsWith("==") ? 2 : b64.endsWith("=") ? 1 : 0;
30
+ return (b64.length * 3) / 4 - padding;
31
+ })();
32
+ const targetSigB64Length = Math.ceil((signatureByteLength * 4) / 3);
33
+ const sig_placeholder = (function makeZeroPaddedBase64UrlString(targetLength, seed) {
34
+ const PAD = "A";
35
+ let out = seed.slice(0, targetLength);
36
+ if (out.length < targetLength) {
37
+ out = out + PAD.repeat(targetLength - out.length);
38
+ }
39
+ if (out.length % 4 === 1) {
40
+ out = out.slice(0, -1) + PAD;
41
+ }
42
+ return out;
43
+ })(targetSigB64Length, `sig_placeholder_${id}_`);
44
+ return `${header_b64}.${payload_b64}.${sig_placeholder}`;
45
+ }
16
46
  let counter = Math.floor(Math.random() * 1000000) + 1000000;
17
47
  function getTokensPlaceholders(params) {
18
48
  const { configId, tokens } = params;
@@ -31,52 +61,57 @@ function getTokensPlaceholders(params) {
31
61
  }
32
62
  const id = counter++;
33
63
  const entry_new = {
34
- id,
35
64
  configId,
65
+ id,
36
66
  tokens: {
37
- accessToken: tokens.accessToken,
38
67
  idToken: tokens.idToken,
68
+ accessToken: tokens.accessToken,
39
69
  refreshToken: tokens.refreshToken
70
+ },
71
+ tokens_placeholder: {
72
+ idToken: generatePlaceholderForToken({
73
+ tokenType: "id_token",
74
+ id,
75
+ token_real: tokens.idToken
76
+ }),
77
+ accessToken: generatePlaceholderForToken({
78
+ tokenType: "access_token",
79
+ id,
80
+ token_real: tokens.accessToken
81
+ }),
82
+ refreshToken: tokens.refreshToken === undefined
83
+ ? undefined
84
+ : generatePlaceholderForToken({
85
+ tokenType: "refresh_token",
86
+ id,
87
+ token_real: tokens.refreshToken
88
+ })
40
89
  }
41
90
  };
42
91
  entries.push(entry_new);
43
- return {
44
- accessToken: `access_token_placeholder_${id}`,
45
- idToken: `id_token_placeholder_${id}`,
46
- refreshToken: tokens.refreshToken === undefined ? undefined : `refresh_token_placeholder_${id}`
47
- };
92
+ return entry_new.tokens_placeholder;
48
93
  }
49
- function substitutePlaceholderByRealToken(params) {
50
- const { text, doEncodeUriComponent } = params;
94
+ function substitutePlaceholderByRealToken(text) {
95
+ if (!text.includes("_placeholder_")) {
96
+ return text;
97
+ }
51
98
  let text_modified = text;
52
- for (const [tokenType, regExp] of [
53
- ["access_token", /access_token_placeholder_(\d+)/g],
54
- ["id_token", /id_token_placeholder_(\d+)/g],
55
- ["refresh_token", /refresh_token_placeholder_(\d+)/g]
56
- ]) {
57
- text_modified = text_modified.replace(regExp, (...[, p1]) => {
58
- const id = parseInt(p1);
59
- const entry = entries.find(e => e.id === id);
60
- if (!entry) {
61
- throw new Error([
62
- "oidc-spa: Outdated token used to make a request.",
63
- "Token should not be stored at the application level, when a token",
64
- "is needed, it should be requested and used immediately."
65
- ].join(" "));
66
- }
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;
99
+ for (const entry of entries) {
100
+ if (!text.includes(`${entry.id}`)) {
101
+ continue;
102
+ }
103
+ for (const tokenType of ["idToken", "accessToken", "refreshToken"]) {
104
+ const placeholder = entry.tokens_placeholder[tokenType];
105
+ if (tokenType === "refreshToken") {
106
+ if (placeholder === undefined) {
107
+ continue;
76
108
  }
77
- })();
78
- return doEncodeUriComponent ? encodeURIComponent(token) : token;
79
- });
109
+ }
110
+ (0, assert_1.assert)(placeholder !== undefined, "023948092393");
111
+ const realToken = entry.tokens[tokenType];
112
+ (0, assert_1.assert)(realToken !== undefined, "02394809239328");
113
+ text_modified = text_modified.split(placeholder).join(realToken);
114
+ }
80
115
  }
81
116
  return text_modified;
82
117
  }
@@ -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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"}
@@ -34,8 +34,9 @@ import { getDesiredPostLoginRedirectUrl } from "./desiredPostLoginRedirectUrl";
34
34
  import { getHomeAndRedirectUri } from "./homeAndRedirectUri";
35
35
  import { ensureNonBlankPaint } from "../tools/ensureNonBlankPaint";
36
36
  import { setStateDataCookieIfEnabled, clearStateDataCookie, getIsStateDataCookieEnabled } from "./StateDataCookie";
37
+ import { getIsTokenSubstitutionEnabled } from "./tokenPlaceholderSubstitution";
37
38
  // NOTE: Replaced at build time
38
- const VERSION = "8.5.5";
39
+ const VERSION = "8.6.1";
39
40
  const globalContext = {
40
41
  prOidcByConfigId: new Map(),
41
42
  hasLogoutBeenCalled: id(false)
@@ -141,6 +142,20 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
141
142
  scopes,
142
143
  validRedirectUri: homeUrlAndRedirectUri
143
144
  }, null, 2)}`);
145
+ if (getIsTokenSubstitutionEnabled()) {
146
+ log?.([
147
+ "Token exfiltration defense successfully enabled.",
148
+ "",
149
+ "→ Tokens exposed to the application layer are unusable for resource server calls.",
150
+ "→ They remain structurally valid JWTs, but their signature segment is replaced.",
151
+ "→ Before any request leaves the app (fetch, XHR, WebSocket, beacon),",
152
+ " the real tokens are restored inside a fully hardened, sandboxed interceptor.",
153
+ "",
154
+ "This means that even with an XSS vulnerability or a compromised dependency,",
155
+ "an attacker cannot extract valid tokens, unless they have also compromised",
156
+ "your application's build pipeline."
157
+ ].join("\n"));
158
+ }
144
159
  const stateUrlParamValue_instance = generateStateUrlParamValue();
145
160
  const oidcMetadata = __metadata ?? (await fetchOidcMetadata({ issuerUri }));
146
161
  const canUseIframe = (() => {
@@ -681,7 +696,7 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
681
696
  });
682
697
  if (!canUseIframe) {
683
698
  log?.([
684
- "⚠️ IMPORTANT DEBUG INFO:",
699
+ "IMPORTANT DEBUG INFO:",
685
700
  "\nWe are about to redirect to your Identity Provider (IdP).",
686
701
  "\nIf you see an 'Invalid Redirect URI' error on the IdP page, make sure you've added:",
687
702
  `\n${homeUrlAndRedirectUri}`,
@@ -844,7 +859,7 @@ export async function createOidc_nonMemoized(params, preProcessedParams) {
844
859
  return new Promise(() => { });
845
860
  }
846
861
  log?.([
847
- "⚠️ IMPORTANT DEBUG INFO:",
862
+ "IMPORTANT DEBUG INFO:",
848
863
  "\nWe are about to redirect to your Identity Provider (IdP).",
849
864
  "\nIf you see an 'Invalid Redirect URI' error on the IdP page, make sure you've added:",
850
865
  `\n${homeUrlAndRedirectUri}`,
@@ -1 +1 @@
1
- {"version":3,"file":"createOidc.js","sourceRoot":"","sources":["../../src/core/createOidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOidc.js","sourceRoot":"","sources":["../../src/core/createOidc.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { assert } from "../tools/tsafe/assert";
2
- import { markTokenSubstitutionAdEnabled, substitutePlaceholderByRealToken } from "./tokenPlaceholderSubstitution";
2
+ import { markTokenSubstitutionAsEnabled, substitutePlaceholderByRealToken } from "./tokenPlaceholderSubstitution";
3
3
  import { getIsHostnameAuthorized } from "../tools/isHostnameAuthorized";
4
4
  const viteHashedJsAssetPathRegExp = /\/assets\/[^/]+-[a-zA-Z0-9_-]{8}\.js$/;
5
5
  export function enableTokenExfiltrationDefense(params) {
6
6
  const { resourceServersAllowedHostnames = [], serviceWorkersAllowedHostnames = [] } = params;
7
- markTokenSubstitutionAdEnabled();
7
+ markTokenSubstitutionAsEnabled();
8
8
  patchFetchApiToSubstituteTokenPlaceholder({ resourceServersAllowedHostnames });
9
9
  patchXMLHttpRequestApiToSubstituteTokenPlaceholder({ resourceServersAllowedHostnames });
10
10
  patchWebSocketApiToSubstituteTokenPlaceholder({ resourceServersAllowedHostnames });
@@ -28,10 +28,7 @@ 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({
32
- text: value,
33
- doEncodeUriComponent: false
34
- });
31
+ const nextValue = substitutePlaceholderByRealToken(value);
35
32
  if (nextValue !== value) {
36
33
  didSubstitute = true;
37
34
  }
@@ -50,10 +47,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
50
47
  break from_init;
51
48
  }
52
49
  if (typeof init.body === "string") {
53
- body = substitutePlaceholderByRealToken({
54
- text: init.body,
55
- doEncodeUriComponent: false
56
- });
50
+ body = substitutePlaceholderByRealToken(init.body);
57
51
  if (init.body !== body) {
58
52
  didSubstitute = true;
59
53
  }
@@ -63,10 +57,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
63
57
  let didUrlSearchParamsSubstitute = false;
64
58
  const next = new URLSearchParams();
65
59
  init.body.forEach((value, key) => {
66
- const nextValue = substitutePlaceholderByRealToken({
67
- text: value,
68
- doEncodeUriComponent: false
69
- });
60
+ const nextValue = substitutePlaceholderByRealToken(value);
70
61
  if (nextValue !== value) {
71
62
  didUrlSearchParamsSubstitute = true;
72
63
  }
@@ -83,10 +74,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
83
74
  const next = new FormData();
84
75
  init.body.forEach((value, key) => {
85
76
  if (typeof value === "string") {
86
- const nextValue = substitutePlaceholderByRealToken({
87
- text: value,
88
- doEncodeUriComponent: false
89
- });
77
+ const nextValue = substitutePlaceholderByRealToken(value);
90
78
  if (nextValue !== value) {
91
79
  didFormDataSubstitute = true;
92
80
  }
@@ -136,10 +124,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
136
124
  break handle_body;
137
125
  }
138
126
  const bodyText = await request.clone().text();
139
- const nextBodyText = substitutePlaceholderByRealToken({
140
- text: bodyText,
141
- doEncodeUriComponent: false
142
- });
127
+ const nextBodyText = substitutePlaceholderByRealToken(bodyText);
143
128
  if (nextBodyText !== bodyText) {
144
129
  didSubstitute = true;
145
130
  }
@@ -148,7 +133,7 @@ function patchFetchApiToSubstituteTokenPlaceholder(params) {
148
133
  let url;
149
134
  {
150
135
  const url_before = request.url;
151
- url = substitutePlaceholderByRealToken({ text: url_before, doEncodeUriComponent: true });
136
+ url = substitutePlaceholderByRealToken(url_before);
152
137
  if (url !== url_before) {
153
138
  didSubstitute = true;
154
139
  }
@@ -206,7 +191,7 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
206
191
  const state = { url: "", didSubstitute: false };
207
192
  {
208
193
  const url_str = typeof url === "string" ? url : url.href;
209
- state.url = substitutePlaceholderByRealToken({ text: url_str, doEncodeUriComponent: true });
194
+ state.url = substitutePlaceholderByRealToken(url_str);
210
195
  if (url_str !== state.url) {
211
196
  state.didSubstitute = true;
212
197
  }
@@ -229,7 +214,7 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
229
214
  XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader(name, value) {
230
215
  const state = stateByInstance.get(this);
231
216
  assert(state !== undefined, "29440283");
232
- const nextValue = substitutePlaceholderByRealToken({ text: value, doEncodeUriComponent: false });
217
+ const nextValue = substitutePlaceholderByRealToken(value);
233
218
  if (nextValue !== value) {
234
219
  state.didSubstitute = true;
235
220
  }
@@ -240,10 +225,7 @@ function patchXMLHttpRequestApiToSubstituteTokenPlaceholder(params) {
240
225
  assert(state !== undefined, "32323484");
241
226
  let nextBody = body;
242
227
  if (typeof body === "string") {
243
- const nextBodyText = substitutePlaceholderByRealToken({
244
- text: body,
245
- doEncodeUriComponent: false
246
- });
228
+ const nextBodyText = substitutePlaceholderByRealToken(body);
247
229
  if (nextBodyText !== body) {
248
230
  state.didSubstitute = true;
249
231
  }
@@ -277,7 +259,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
277
259
  const wsDataByWs = new WeakMap();
278
260
  const WebSocketPatched = function WebSocket(url, protocols) {
279
261
  const urlStr = typeof url === "string" ? url : url.href;
280
- const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
262
+ const nextUrl = substitutePlaceholderByRealToken(urlStr);
281
263
  let didSubstitute = nextUrl !== urlStr;
282
264
  const { hostname, pathname } = new URL(nextUrl, window.location.href);
283
265
  block_authed_request_to_unauthorized_hostnames: {
@@ -324,10 +306,7 @@ function patchWebSocketApiToSubstituteTokenPlaceholder(params) {
324
306
  }
325
307
  let nextData = data;
326
308
  if (typeof data === "string") {
327
- const nextDataText = substitutePlaceholderByRealToken({
328
- text: data,
329
- doEncodeUriComponent: false
330
- });
309
+ const nextDataText = substitutePlaceholderByRealToken(data);
331
310
  if (nextDataText !== data) {
332
311
  wsData.didSubstitute = true;
333
312
  }
@@ -367,7 +346,7 @@ function patchEventSourceApiToSubstituteTokenPlaceholder(params) {
367
346
  }
368
347
  const EventSourcePatched = function EventSource(url, eventSourceInitDict) {
369
348
  const urlStr = typeof url === "string" ? url : url.href;
370
- const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
349
+ const nextUrl = substitutePlaceholderByRealToken(urlStr);
371
350
  const didSubstitute = nextUrl !== urlStr;
372
351
  const { hostname } = new URL(nextUrl, window.location.href);
373
352
  block_authed_request_to_unauthorized_hostnames: {
@@ -410,12 +389,12 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
410
389
  }
411
390
  navigator.sendBeacon = function sendBeacon(url, data) {
412
391
  const urlStr = typeof url === "string" ? url : url.href;
413
- const nextUrl = substitutePlaceholderByRealToken({ text: urlStr, doEncodeUriComponent: true });
392
+ const nextUrl = substitutePlaceholderByRealToken(urlStr);
414
393
  let didSubstitute = nextUrl !== urlStr;
415
394
  const { hostname } = new URL(nextUrl, window.location.href);
416
395
  let nextData = data;
417
396
  if (typeof data === "string") {
418
- const next = substitutePlaceholderByRealToken({ text: data, doEncodeUriComponent: false });
397
+ const next = substitutePlaceholderByRealToken(data);
419
398
  if (next !== data) {
420
399
  didSubstitute = true;
421
400
  }
@@ -425,10 +404,7 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
425
404
  let didUrlSearchParamsSubstitute = false;
426
405
  const next = new URLSearchParams();
427
406
  data.forEach((value, key) => {
428
- const nextValue = substitutePlaceholderByRealToken({
429
- text: value,
430
- doEncodeUriComponent: false
431
- });
407
+ const nextValue = substitutePlaceholderByRealToken(value);
432
408
  if (nextValue !== value) {
433
409
  didUrlSearchParamsSubstitute = true;
434
410
  }
@@ -444,10 +420,7 @@ function patchNavigatorSendBeaconApiToSubstituteTokenPlaceholder(params) {
444
420
  const next = new FormData();
445
421
  data.forEach((value, key) => {
446
422
  if (typeof value === "string") {
447
- const nextValue = substitutePlaceholderByRealToken({
448
- text: value,
449
- doEncodeUriComponent: false
450
- });
423
+ const nextValue = substitutePlaceholderByRealToken(value);
451
424
  if (nextValue !== value) {
452
425
  didFormDataSubstitute = true;
453
426
  }