oidc-spa 7.1.3 → 7.1.4

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.
@@ -125,7 +125,7 @@ var trustedFetch_1 = require("./trustedFetch");
125
125
  var getIsOnline_1 = require("../tools/getIsOnline");
126
126
  (0, handleOidcCallback_1.handleOidcCallback)();
127
127
  // NOTE: Replaced at build time
128
- var VERSION = "7.1.3";
128
+ var VERSION = "7.1.4";
129
129
  var globalContext = {
130
130
  prOidcByConfigId: new Map(),
131
131
  hasLogoutBeenCalled: (0, tsafe_1.id)(false),
package/mock/react.d.ts CHANGED
@@ -51,5 +51,8 @@ export declare function createMockReactOidc<DecodedIdToken extends Record<string
51
51
  url?: string;
52
52
  };
53
53
  cause?: "preload" | string;
54
+ location?: {
55
+ href?: string;
56
+ };
54
57
  }) => Promise<void | never>;
55
58
  } : never : never);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "7.1.3",
3
+ "version": "7.1.4",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -294,7 +294,7 @@
294
294
  "@types/node": "^20.2.1",
295
295
  "@types/node-fetch": "2.6.11",
296
296
  "@types/node-jose": "1.1.13",
297
- "@types/react": "19.0.12",
297
+ "@types/react": "19.1.10",
298
298
  "babel-loader": "9.1.3",
299
299
  "evt": "^2.5.7",
300
300
  "husky": "^4.3.8",
@@ -307,7 +307,7 @@
307
307
  "patch-package": "^8.0.0",
308
308
  "prettier": "^2.8.8",
309
309
  "punycode": "^2.3.1",
310
- "react": "19.0.0",
310
+ "react": "19.1.1",
311
311
  "ts-node": "^10.9.1",
312
312
  "tsafe": "^1.8.5",
313
313
  "tsx": "^4.15.5",
package/react/react.d.ts CHANGED
@@ -81,6 +81,9 @@ type OidcReactApi<DecodedIdToken extends Record<string, unknown>, AutoLogin exte
81
81
  url?: string;
82
82
  };
83
83
  cause?: "preload" | string;
84
+ location?: {
85
+ href?: string;
86
+ };
84
87
  }) => Promise<void | never>;
85
88
  });
86
89
  export declare function createOidcReactApi_dependencyInjection<DecodedIdToken extends Record<string, unknown>, ParamsOfCreateOidc extends {
package/react/react.js CHANGED
@@ -82,6 +82,7 @@ var core_1 = require("../core");
82
82
  var tsafe_1 = require("../vendor/frontend/tsafe");
83
83
  var tsafe_2 = require("../vendor/frontend/tsafe");
84
84
  var Deferred_1 = require("../tools/Deferred");
85
+ var toFullyQualifiedUrl_1 = require("../tools/toFullyQualifiedUrl");
85
86
  {
86
87
  (0, tsafe_1.assert)();
87
88
  }
@@ -257,27 +258,42 @@ function createOidcReactApi_dependencyInjection(paramsOrGetParams, createOidc) {
257
258
  }
258
259
  function enforceLogin(loaderParams) {
259
260
  return __awaiter(this, void 0, void 0, function () {
260
- var cause, redirectUrl, oidc;
261
- var _a, _b;
262
- return __generator(this, function (_c) {
263
- switch (_c.label) {
261
+ var cause, redirectUrl, oidc, doesCurrentHrefRequiresAuth;
262
+ return __generator(this, function (_a) {
263
+ switch (_a.label) {
264
264
  case 0:
265
265
  cause = loaderParams.cause;
266
- redirectUrl = (_b = (_a = loaderParams.request) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : location.href;
266
+ redirectUrl = (function () {
267
+ var _a, _b;
268
+ if (((_a = loaderParams.request) === null || _a === void 0 ? void 0 : _a.url) !== undefined) {
269
+ return (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
270
+ urlish: loaderParams.request.url,
271
+ doAssertNoQueryParams: false
272
+ });
273
+ }
274
+ if (((_b = loaderParams.location) === null || _b === void 0 ? void 0 : _b.href) !== undefined) {
275
+ return (0, toFullyQualifiedUrl_1.toFullyQualifiedUrl)({
276
+ urlish: loaderParams.location.href,
277
+ doAssertNoQueryParams: false
278
+ });
279
+ }
280
+ return location.href;
281
+ })();
267
282
  return [4 /*yield*/, getOidc()];
268
283
  case 1:
269
- oidc = _c.sent();
284
+ oidc = _a.sent();
270
285
  if (!!oidc.isUserLoggedIn) return [3 /*break*/, 3];
271
286
  if (cause === "preload") {
272
287
  throw new Error("oidc-spa: User is not yet logged in. This is an expected error, nothing to be addressed.");
273
288
  }
289
+ doesCurrentHrefRequiresAuth = location.href.replace(/\/$/, "") === redirectUrl.replace(/\/$/, "");
274
290
  return [4 /*yield*/, oidc.login({
275
291
  redirectUrl: redirectUrl,
276
- doesCurrentHrefRequiresAuth: location.href === redirectUrl
292
+ doesCurrentHrefRequiresAuth: doesCurrentHrefRequiresAuth
277
293
  })];
278
294
  case 2:
279
- _c.sent();
280
- _c.label = 3;
295
+ _a.sent();
296
+ _a.label = 3;
281
297
  case 3: return [2 /*return*/];
282
298
  }
283
299
  });
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { assert, type Equals, type Param0 } from "../vendor/frontend/tsafe";
13
13
  import { id } from "../vendor/frontend/tsafe";
14
14
  import type { ValueOrAsyncGetter } from "../tools/ValueOrAsyncGetter";
15
15
  import { Deferred } from "../tools/Deferred";
16
+ import { toFullyQualifiedUrl } from "../tools/toFullyQualifiedUrl";
16
17
 
17
18
  export type OidcReact<DecodedIdToken extends Record<string, unknown>> =
18
19
  | OidcReact.NotLoggedIn
@@ -107,6 +108,9 @@ type OidcReactApi<DecodedIdToken extends Record<string, unknown>, AutoLogin exte
107
108
  enforceLogin: (loaderParams: {
108
109
  request?: { url?: string };
109
110
  cause?: "preload" | string;
111
+ location?: {
112
+ href?: string;
113
+ };
110
114
  }) => Promise<void | never>;
111
115
  });
112
116
 
@@ -380,9 +384,27 @@ export function createOidcReactApi_dependencyInjection<
380
384
  async function enforceLogin(loaderParams: {
381
385
  request?: { url?: string };
382
386
  cause?: "preload" | string;
387
+ location?: { href?: string };
383
388
  }): Promise<void | never> {
384
389
  const { cause } = loaderParams;
385
- const redirectUrl = loaderParams.request?.url ?? location.href;
390
+
391
+ const redirectUrl = (() => {
392
+ if (loaderParams.request?.url !== undefined) {
393
+ return toFullyQualifiedUrl({
394
+ urlish: loaderParams.request.url,
395
+ doAssertNoQueryParams: false
396
+ });
397
+ }
398
+
399
+ if (loaderParams.location?.href !== undefined) {
400
+ return toFullyQualifiedUrl({
401
+ urlish: loaderParams.location.href,
402
+ doAssertNoQueryParams: false
403
+ });
404
+ }
405
+
406
+ return location.href;
407
+ })();
386
408
 
387
409
  const oidc = await getOidc();
388
410
 
@@ -392,10 +414,12 @@ export function createOidcReactApi_dependencyInjection<
392
414
  "oidc-spa: User is not yet logged in. This is an expected error, nothing to be addressed."
393
415
  );
394
416
  }
417
+ const doesCurrentHrefRequiresAuth =
418
+ location.href.replace(/\/$/, "") === redirectUrl.replace(/\/$/, "");
395
419
 
396
420
  await oidc.login({
397
421
  redirectUrl,
398
- doesCurrentHrefRequiresAuth: location.href === redirectUrl
422
+ doesCurrentHrefRequiresAuth
399
423
  });
400
424
  }
401
425
  }