oidc-spa 4.8.0 → 4.9.0-rc.0

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.
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  <p align="center">
4
4
  <br>
5
- <a href="https://github.com/garronej/oidc-spa/actions">
6
- <img src="https://github.com/garronej/oidc-spa/actions/workflows/ci.yaml/badge.svg?branch=main">
5
+ <a href="https://github.com/keycloakify/oidc-spa/actions">
6
+ <img src="https://github.com/keycloakify/oidc-spa/actions/workflows/ci.yaml/badge.svg?branch=main">
7
7
  </a>
8
8
  <a href="https://bundlephobia.com/package/oidc-spa">
9
9
  <img src="https://img.shields.io/bundlephobia/minzip/oidc-spa">
package/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { createOidc } from "./oidc";
2
- export type { Oidc } from "./oidc";
2
+ export type { Oidc, OidcInitializationError } from "./oidc";
3
3
  export { decodeJwt } from "./tools/decodeJwt";
package/mock/oidc.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import type { Oidc } from "../oidc";
2
- export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = {
2
+ export type ParamsOfCreateMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false> = {
3
3
  isUserInitiallyLoggedIn: boolean;
4
4
  mockedParams?: Partial<Oidc["params"]>;
5
5
  mockedTokens?: Partial<Oidc.Tokens<DecodedIdToken>>;
6
6
  publicUrl?: string;
7
+ isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
8
+ postLoginRedirectUrl?: string;
7
9
  };
8
- export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateMockOidc<DecodedIdToken>): Oidc<DecodedIdToken>;
10
+ export declare function createMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>;
package/mock/oidc.js CHANGED
@@ -56,7 +56,7 @@ var urlParamName = "isUserLoggedIn";
56
56
  function createMockOidc(params) {
57
57
  var _this = this;
58
58
  var _a, _b;
59
- var isUserInitiallyLoggedIn = params.isUserInitiallyLoggedIn, _c = params.mockedParams, mockedParams = _c === void 0 ? {} : _c, _d = params.mockedTokens, mockedTokens = _d === void 0 ? {} : _d, publicUrl_params = params.publicUrl;
59
+ var isUserInitiallyLoggedIn = params.isUserInitiallyLoggedIn, _c = params.mockedParams, mockedParams = _c === void 0 ? {} : _c, _d = params.mockedTokens, mockedTokens = _d === void 0 ? {} : _d, publicUrl_params = params.publicUrl, _e = params.isAuthRequiredOnEveryPages, isAuthRequiredOnEveryPages = _e === void 0 ? false : _e, postLoginRedirectUrl = params.postLoginRedirectUrl;
60
60
  var isUserLoggedIn = (function () {
61
61
  var result = (0, urlQueryParams_1.retrieveQueryParamFromUrl)({
62
62
  "url": window.location.href,
@@ -83,18 +83,37 @@ function createMockOidc(params) {
83
83
  }
84
84
  };
85
85
  if (!isUserLoggedIn) {
86
- return (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
87
- var newUrl;
88
- return __generator(this, function (_a) {
89
- newUrl = (0, urlQueryParams_1.addQueryParamToUrl)({
90
- "url": window.location.href,
91
- "name": urlParamName,
92
- "value": "true"
93
- }).newUrl;
94
- window.location.href = newUrl;
95
- return [2 /*return*/, new Promise(function () { })];
86
+ var oidc = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function (_a) {
87
+ var redirectUrl = _a.redirectUrl;
88
+ return __awaiter(_this, void 0, void 0, function () {
89
+ var newUrl;
90
+ return __generator(this, function (_b) {
91
+ newUrl = (0, urlQueryParams_1.addQueryParamToUrl)({
92
+ "url": (function () {
93
+ if (redirectUrl === undefined) {
94
+ return window.location.href;
95
+ }
96
+ return redirectUrl.startsWith("/")
97
+ ? "".concat(window.location.origin).concat(redirectUrl)
98
+ : redirectUrl;
99
+ })(),
100
+ "name": urlParamName,
101
+ "value": "true"
102
+ }).newUrl;
103
+ window.location.href = newUrl;
104
+ return [2 /*return*/, new Promise(function () { })];
105
+ });
96
106
  });
97
- }); }, "initializationError": undefined }));
107
+ }, "initializationError": undefined }));
108
+ if (!isAuthRequiredOnEveryPages) {
109
+ oidc.login({
110
+ "redirectUrl": postLoginRedirectUrl,
111
+ "doesCurrentHrefRequiresAuth": true
112
+ });
113
+ (0, assert_1.assert)(false);
114
+ }
115
+ // @ts-expect-error: We know what we are doing
116
+ return oidc;
98
117
  }
99
118
  return (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": true, "renewTokens": function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
100
119
  return [2 /*return*/];
package/mock/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../src/mock/oidc.ts"],"names":[],"mappings":"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"}
package/mock/react.d.ts CHANGED
@@ -1,17 +1,21 @@
1
1
  /// <reference types="react" />
2
2
  import { type ParamsOfCreateMockOidc } from "./oidc";
3
- export declare function createMockReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateMockOidc<DecodedIdToken>): {
3
+ /** @see: https://docs.oidc-spa.dev/documentation/mock */
4
+ export declare function createMockReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): {
4
5
  OidcProvider: (props: {
5
6
  fallback?: import("react").ReactNode;
7
+ ErrorFallback?: ((props: {
8
+ initializationError: import("..").OidcInitializationError;
9
+ }) => import("react").ReactNode) | undefined;
6
10
  children: import("react").ReactNode;
7
- }) => import("react/jsx-runtime").JSX.Element;
11
+ }) => JSX.Element;
8
12
  useOidc: {
9
13
  (params?: {
10
14
  assertUserLoggedIn: false;
11
15
  } | undefined): import("../react/react").OidcReact<DecodedIdToken>;
12
16
  (params: {
13
17
  assertUserLoggedIn: true;
14
- }): import("../react/react").OidcReact.LoggedIn<DecodedIdToken>;
18
+ }): import("../react/react").OidcReact<DecodedIdToken>;
15
19
  };
16
20
  prOidc: Promise<import("..").Oidc<DecodedIdToken>>;
17
21
  };
package/mock/react.js CHANGED
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMockReactOidc = void 0;
4
4
  var react_1 = require("../react/react");
5
5
  var oidc_1 = require("./oidc");
6
+ /** @see: https://docs.oidc-spa.dev/documentation/mock */
6
7
  function createMockReactOidc(params) {
7
- return (0, react_1.createReactOidc_dependencyInjection)(params, oidc_1.createMockOidc);
8
+ return (0, react_1.createOidcReactApi_dependencyInjection)(params, oidc_1.createMockOidc);
8
9
  }
9
10
  exports.createMockReactOidc = createMockReactOidc;
10
11
  //# sourceMappingURL=react.js.map
package/mock/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/mock/react.tsx"],"names":[],"mappings":";;;AAAA,wCAAqE;AACrE,+BAAqE;AAErE,SAAgB,mBAAmB,CAEjC,MAA8C;IAC5C,OAAO,IAAA,2CAAmC,EAAC,MAAM,EAAE,qBAAc,CAAC,CAAC;AACvE,CAAC;AAJD,kDAIC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/mock/react.tsx"],"names":[],"mappings":";;;AAAA,wCAAwE;AACxE,+BAAqE;AAErE,yDAAyD;AACzD,SAAgB,mBAAmB,CAGjC,MAA0E;IACxE,OAAO,IAAA,8CAAsC,EAAC,MAAM,EAAE,qBAAc,CAAC,CAAC;AAC1E,CAAC;AALD,kDAKC"}
package/oidc.d.ts CHANGED
@@ -79,10 +79,13 @@ export declare class OidcInitializationError extends Error {
79
79
  cause: Error;
80
80
  });
81
81
  }
82
- export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = {
82
+ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false> = {
83
83
  issuerUri: string;
84
84
  clientId: string;
85
85
  clientSecret?: string;
86
+ /**
87
+ * Transform the url before redirecting to the login pages.
88
+ */
86
89
  transformUrlBeforeRedirect?: (url: string) => string;
87
90
  /**
88
91
  * Extra query params to be added on the login url.
@@ -90,8 +93,19 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
90
93
  * when login() is called.
91
94
  *
92
95
  * Example: extraQueryParams: ()=> ({ ui_locales: "fr" })
96
+ *
97
+ * This parameter can also be passed to login() directly.
93
98
  */
94
99
  extraQueryParams?: Record<string, string> | (() => Record<string, string>);
100
+ /**
101
+ * Where to redirect after successful login.
102
+ * Default: window.location.href (here)
103
+ *
104
+ * It does not need to include the origin, eg: "/dashboard"
105
+ *
106
+ * This parameter can also be passed to login() directly as `redirectUrl`.
107
+ */
108
+ postLoginRedirectUrl?: string;
95
109
  /**
96
110
  * This parameter is used to let oidc-spa knows where to find the silent-sso.html file
97
111
  * and also to know what is the root path of your application so it can redirect to it after logout.
@@ -121,6 +135,7 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
121
135
  * */
122
136
  __unsafe_ssoSessionIdleSeconds?: number;
123
137
  autoLogoutParams?: Parameters<Oidc.LoggedIn<any>["logout"]>[0];
138
+ isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
124
139
  };
125
140
  /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
126
- export declare function createOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateOidc<DecodedIdToken>): Promise<Oidc<DecodedIdToken>>;
141
+ export declare function createOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): Promise<IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;
package/oidc.js CHANGED
@@ -168,12 +168,12 @@ var URL_real = window.URL;
168
168
  /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
169
169
  function createOidc(params) {
170
170
  return __awaiter(this, void 0, void 0, function () {
171
- var issuerUri, clientId, clientSecret, _a, transformUrlBeforeRedirect, extraQueryParamsOrGetter, publicUrl_params, decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds, _b, autoLogoutParams, getExtraQueryParams, publicUrl, configHash, cleanups, configHashKey, silentSso, silentSsoKey, result, oidcClientTsUserManager, lastPublicRoute, startTrackingLastPublicRoute, hasLoginBeenCalled, login, resultOfLoginProcess, common, error, initializationError, currentTokens, autoLogoutCountdownTickCallbacks, onTokenChanges, oidc, getMsBeforeExpiration_1, startCountdown_2, stopCountdown_1, unsubscribeFrom$isUserActive_1, hotReloadCleanupsForThisConfig;
171
+ var issuerUri, clientId, clientSecret, _a, transformUrlBeforeRedirect, extraQueryParamsOrGetter, publicUrl_params, decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds, _b, autoLogoutParams, _c, isAuthRequiredOnEveryPages, postLoginRedirectUrl, getExtraQueryParams, publicUrl, configHash, cleanups, configHashKey, silentSso, silentSsoKey, result, oidcClientTsUserManager, lastPublicRoute, startTrackingLastPublicRoute, hasLoginBeenCalled, login, resultOfLoginProcess, common, error, initializationError, oidc_1, oidc_2, currentTokens, autoLogoutCountdownTickCallbacks, onTokenChanges, oidc, getMsBeforeExpiration_1, startCountdown_2, stopCountdown_1, unsubscribeFrom$isUserActive_1, hotReloadCleanupsForThisConfig;
172
172
  var _this = this;
173
- return __generator(this, function (_c) {
174
- switch (_c.label) {
173
+ return __generator(this, function (_d) {
174
+ switch (_d.label) {
175
175
  case 0:
176
- issuerUri = params.issuerUri, clientId = params.clientId, clientSecret = params.clientSecret, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, extraQueryParamsOrGetter = params.extraQueryParams, publicUrl_params = params.publicUrl, decodedIdTokenSchema = params.decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds = params.__unsafe_ssoSessionIdleSeconds, _b = params.autoLogoutParams, autoLogoutParams = _b === void 0 ? { "redirectTo": "current page" } : _b;
176
+ issuerUri = params.issuerUri, clientId = params.clientId, clientSecret = params.clientSecret, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, extraQueryParamsOrGetter = params.extraQueryParams, publicUrl_params = params.publicUrl, decodedIdTokenSchema = params.decodedIdTokenSchema, __unsafe_ssoSessionIdleSeconds = params.__unsafe_ssoSessionIdleSeconds, _b = params.autoLogoutParams, autoLogoutParams = _b === void 0 ? { "redirectTo": "current page" } : _b, _c = params.isAuthRequiredOnEveryPages, isAuthRequiredOnEveryPages = _c === void 0 ? false : _c, postLoginRedirectUrl = params.postLoginRedirectUrl;
177
177
  getExtraQueryParams = (function () {
178
178
  if (typeof extraQueryParamsOrGetter === "function") {
179
179
  return extraQueryParamsOrGetter;
@@ -234,14 +234,14 @@ function createOidc(params) {
234
234
  // Here the user forget to create the silent-sso.html file or or the web server is not serving it correctly
235
235
  // we shouldn't fall back to the SPA page.
236
236
  // In this case we want to let the timeout of the parent expire to provide the correct error message.
237
- _c.sent();
238
- _c.label = 2;
237
+ _d.sent();
238
+ _d.label = 2;
239
239
  case 2:
240
240
  parent.postMessage(location.href, location.origin);
241
241
  return [4 /*yield*/, new Promise(function () { })];
242
242
  case 3:
243
- _c.sent();
244
- _c.label = 4;
243
+ _d.sent();
244
+ _d.label = 4;
245
245
  case 4:
246
246
  oidcClientTsUserManager = new oidc_client_ts_1.UserManager({
247
247
  "authority": issuerUri,
@@ -701,7 +701,7 @@ function createOidc(params) {
701
701
  return error;
702
702
  })];
703
703
  case 5:
704
- resultOfLoginProcess = _c.sent();
704
+ resultOfLoginProcess = _d.sent();
705
705
  common = {
706
706
  "params": {
707
707
  issuerUri: issuerUri,
@@ -716,19 +716,35 @@ function createOidc(params) {
716
716
  "type": "unknown",
717
717
  "cause": error
718
718
  });
719
+ if (isAuthRequiredOnEveryPages) {
720
+ throw initializationError;
721
+ }
719
722
  console.error("OIDC initialization error of type \"".concat(initializationError.type, "\": ").concat(initializationError.message));
720
723
  startTrackingLastPublicRoute();
721
- return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
722
- return __generator(this, function (_a) {
723
- alert("Authentication is currently unavailable. Please try again later.");
724
- return [2 /*return*/, new Promise(function () { })];
725
- });
726
- }); }, initializationError: initializationError }))];
727
- }
728
- if (resultOfLoginProcess === undefined) {
729
- startTrackingLastPublicRoute();
730
- return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login, "initializationError": undefined }))];
724
+ oidc_1 = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
725
+ return __generator(this, function (_a) {
726
+ alert("Authentication is currently unavailable. Please try again later.");
727
+ return [2 /*return*/, new Promise(function () { })];
728
+ });
729
+ }); }, initializationError: initializationError }));
730
+ // @ts-expect-error: We know what we are doing.
731
+ return [2 /*return*/, oidc_1];
731
732
  }
733
+ if (!(resultOfLoginProcess === undefined)) return [3 /*break*/, 8];
734
+ if (!isAuthRequiredOnEveryPages) return [3 /*break*/, 7];
735
+ return [4 /*yield*/, login({
736
+ "doesCurrentHrefRequiresAuth": true,
737
+ "redirectUrl": postLoginRedirectUrl
738
+ })];
739
+ case 6:
740
+ _d.sent();
741
+ _d.label = 7;
742
+ case 7:
743
+ startTrackingLastPublicRoute();
744
+ oidc_2 = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login, "initializationError": undefined }));
745
+ // @ts-expect-error: We know what we are doing.
746
+ return [2 /*return*/, oidc_2];
747
+ case 8:
732
748
  currentTokens = resultOfLoginProcess.tokens;
733
749
  autoLogoutCountdownTickCallbacks = new Set();
734
750
  onTokenChanges = new Set();
@@ -863,7 +879,9 @@ function createOidc(params) {
863
879
  {
864
880
  startCountdown_2 = (0, startCountdown_1.createStartCountdown)({
865
881
  "getCountdownEndTime": function () {
866
- return __unsafe_ssoSessionIdleSeconds !== null && __unsafe_ssoSessionIdleSeconds !== void 0 ? __unsafe_ssoSessionIdleSeconds : currentTokens.refreshTokenExpirationTime;
882
+ return __unsafe_ssoSessionIdleSeconds !== undefined
883
+ ? Date.now() + __unsafe_ssoSessionIdleSeconds * 1000
884
+ : currentTokens.refreshTokenExpirationTime;
867
885
  },
868
886
  "tickCallback": function (_a) {
869
887
  var secondsLeft = _a.secondsLeft;
package/oidc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oidc-spa",
3
- "version": "4.8.0",
3
+ "version": "4.9.0-rc.0",
4
4
  "description": "Openidconnect client for Single Page Applications",
5
5
  "repository": {
6
6
  "type": "git",
package/react/react.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- import { type ParamsOfCreateOidc, type Oidc, type OidcInitializationError } from "../oidc";
2
+ import { type ParamsOfCreateOidc, type Oidc, OidcInitializationError } from "../oidc";
3
3
  import type { PromiseOrNot } from "../tools/PromiseOrNot";
4
4
  export type OidcReact<DecodedIdToken extends Record<string, unknown>> = OidcReact.NotLoggedIn | OidcReact.LoggedIn<DecodedIdToken>;
5
5
  export declare namespace OidcReact {
@@ -26,38 +26,40 @@ export declare namespace OidcReact {
26
26
  initializationError?: never;
27
27
  };
28
28
  }
29
- export declare function createReactOidc_dependencyInjection<DecodedIdToken extends Record<string, unknown>, ParamsOfCreateOidc extends {
30
- decodedIdTokenSchema: {
31
- parse: (data: unknown) => DecodedIdToken;
32
- } | undefined;
33
- } | {}>(params: ParamsOfCreateOidc, createOidc: (params: ParamsOfCreateOidc) => PromiseOrNot<Oidc<DecodedIdToken>>): {
34
- OidcProvider: (props: {
29
+ type OidcReactApi<DecodedIdToken extends Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean> = {
30
+ OidcProvider: IsAuthRequiredOnEveryPages extends true ? (props: {
31
+ fallback?: ReactNode;
32
+ children: ReactNode;
33
+ }) => JSX.Element : (props: {
35
34
  fallback?: ReactNode;
35
+ ErrorFallback?: (props: {
36
+ initializationError: OidcInitializationError;
37
+ }) => ReactNode;
36
38
  children: ReactNode;
37
- }) => import("react/jsx-runtime").JSX.Element;
38
- useOidc: {
39
+ }) => JSX.Element;
40
+ useOidc: IsAuthRequiredOnEveryPages extends true ? {
39
41
  (params?: {
40
- assertUserLoggedIn: false;
41
- }): OidcReact<DecodedIdToken>;
42
- (params: {
43
42
  assertUserLoggedIn: true;
44
43
  }): OidcReact.LoggedIn<DecodedIdToken>;
45
- };
46
- prOidc: Promise<Oidc<DecodedIdToken>>;
47
- };
48
- /** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
49
- export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(params: ParamsOfCreateOidc<DecodedIdToken>): {
50
- OidcProvider: (props: {
51
- fallback?: ReactNode;
52
- children: ReactNode;
53
- }) => import("react/jsx-runtime").JSX.Element;
54
- useOidc: {
44
+ } : {
55
45
  (params?: {
56
46
  assertUserLoggedIn: false;
57
- } | undefined): OidcReact<DecodedIdToken>;
47
+ }): OidcReact<DecodedIdToken>;
58
48
  (params: {
59
49
  assertUserLoggedIn: true;
60
- }): OidcReact.LoggedIn<DecodedIdToken>;
50
+ }): OidcReact<DecodedIdToken>;
61
51
  };
62
- prOidc: Promise<Oidc<DecodedIdToken>>;
52
+ prOidc: Promise<IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>>;
63
53
  };
54
+ export declare function createOidcReactApi_dependencyInjection<DecodedIdToken extends Record<string, unknown>, ParamsOfCreateOidc extends {
55
+ isAuthRequiredOnEveryPages?: boolean;
56
+ } & ({
57
+ decodedIdTokenSchema: {
58
+ parse: (data: unknown) => DecodedIdToken;
59
+ } | undefined;
60
+ } | {})>(params: ParamsOfCreateOidc, createOidc: (params: ParamsOfCreateOidc) => PromiseOrNot<Oidc<DecodedIdToken>>): OidcReactApi<DecodedIdToken, ParamsOfCreateOidc extends {
61
+ isAuthRequiredOnEveryPages: boolean;
62
+ } ? ParamsOfCreateOidc["isAuthRequiredOnEveryPages"] : false>;
63
+ /** @see: https://docs.oidc-spa.dev/documentation/usage#react-api */
64
+ export declare function createReactOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false>(params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>): OidcReactApi<DecodedIdToken, false>;
65
+ export {};
package/react/react.js CHANGED
@@ -27,7 +27,7 @@ var __read = (this && this.__read) || function (o, n) {
27
27
  return ar;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.createReactOidc = exports.createReactOidc_dependencyInjection = void 0;
30
+ exports.createReactOidc = exports.createOidcReactApi_dependencyInjection = void 0;
31
31
  var jsx_runtime_1 = require("react/jsx-runtime");
32
32
  var react_1 = require("react");
33
33
  var oidc_1 = require("../oidc");
@@ -35,19 +35,28 @@ var assert_1 = require("tsafe/assert");
35
35
  var id_1 = require("tsafe/id");
36
36
  var useGuaranteedMemo_1 = require("../tools/powerhooks/useGuaranteedMemo");
37
37
  var oidcContext = (0, react_1.createContext)(undefined);
38
- function createReactOidc_dependencyInjection(params, createOidc) {
39
- var prOidc = Promise.resolve(createOidc(params));
38
+ function createOidcReactApi_dependencyInjection(params, createOidc) {
39
+ var prOidc = Promise.resolve(createOidc(params)).catch(function (error) {
40
+ if (!(error instanceof oidc_1.OidcInitializationError)) {
41
+ throw error;
42
+ }
43
+ return error;
44
+ });
40
45
  var decodedIdTokenSchema = ("decodedIdTokenSchema" in params ? params : { "decodedIdTokenSchema": undefined }).decodedIdTokenSchema;
41
46
  function OidcProvider(props) {
42
- var children = props.children, fallback = props.fallback;
43
- var _a = __read((0, react_1.useState)(undefined), 2), oidc = _a[0], setOidc = _a[1];
47
+ var fallback = props.fallback, ErrorFallback = props.ErrorFallback, children = props.children;
48
+ var _a = __read((0, react_1.useState)(undefined), 2), oidcOrInitializationError = _a[0], setOidcOrInitializationError = _a[1];
44
49
  (0, react_1.useEffect)(function () {
45
- prOidc.then(setOidc);
50
+ prOidc.then(setOidcOrInitializationError);
46
51
  }, []);
47
- if (oidc === undefined) {
52
+ if (oidcOrInitializationError === undefined) {
48
53
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: fallback === undefined ? null : fallback });
49
54
  }
50
- return ((0, jsx_runtime_1.jsx)(oidcContext.Provider, { value: { oidc: oidc, decodedIdTokenSchema: decodedIdTokenSchema }, children: children }));
55
+ if (oidcOrInitializationError instanceof oidc_1.OidcInitializationError) {
56
+ var initializationError = oidcOrInitializationError;
57
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: ErrorFallback === undefined ? ((0, jsx_runtime_1.jsxs)("h1", { style: { "color": "red" }, children: ["An error occurred while initializing the OIDC client:\u00A0", initializationError.message] })) : ((0, jsx_runtime_1.jsx)(ErrorFallback, { initializationError: initializationError })) }));
58
+ }
59
+ return ((0, jsx_runtime_1.jsx)(oidcContext.Provider, { value: { oidc: oidcOrInitializationError, decodedIdTokenSchema: decodedIdTokenSchema }, children: children }));
51
60
  }
52
61
  function useOidc(params) {
53
62
  var _a = (params !== null && params !== void 0 ? params : {}).assertUserLoggedIn, assertUserLoggedIn = _a === void 0 ? false : _a;
@@ -113,12 +122,18 @@ function createReactOidc_dependencyInjection(params, createOidc) {
113
122
  ? (0, id_1.id)(((0, assert_1.assert)(oidcTokens !== undefined), __assign(__assign({}, common), { "isUserLoggedIn": true, oidcTokens: oidcTokens, "logout": oidc.logout, "renewTokens": oidc.renewTokens, "subscribeToAutoLogoutCountdown": oidc.subscribeToAutoLogoutCountdown })))
114
123
  : (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": oidc.login, "initializationError": oidc.initializationError }));
115
124
  }
116
- return { OidcProvider: OidcProvider, useOidc: useOidc, prOidc: prOidc };
125
+ return {
126
+ OidcProvider: OidcProvider,
127
+ // @ts-expect-error: We know what we are doing
128
+ useOidc: useOidc,
129
+ // @ts-expect-error: We know what we are doing
130
+ prOidc: prOidc
131
+ };
117
132
  }
118
- exports.createReactOidc_dependencyInjection = createReactOidc_dependencyInjection;
119
- /** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
133
+ exports.createOidcReactApi_dependencyInjection = createOidcReactApi_dependencyInjection;
134
+ /** @see: https://docs.oidc-spa.dev/documentation/usage#react-api */
120
135
  function createReactOidc(params) {
121
- return createReactOidc_dependencyInjection(params, oidc_1.createOidc);
136
+ return createOidcReactApi_dependencyInjection(params, oidc_1.createOidc);
122
137
  }
123
138
  exports.createReactOidc = createReactOidc;
124
139
  //# sourceMappingURL=react.js.map
@@ -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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"}
package/src/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { createOidc } from "./oidc";
2
- export type { Oidc } from "./oidc";
2
+ export type { Oidc, OidcInitializationError } from "./oidc";
3
3
  export { decodeJwt } from "./tools/decodeJwt";
package/src/mock/oidc.ts CHANGED
@@ -5,24 +5,32 @@ import { createObjectThatThrowsIfAccessed } from "../tools/createObjectThatThrow
5
5
  import { assert, type Equals } from "tsafe/assert";
6
6
 
7
7
  export type ParamsOfCreateMockOidc<
8
- DecodedIdToken extends Record<string, unknown> = Record<string, unknown>
8
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
9
+ IsAuthRequiredOnEveryPages extends boolean = false
9
10
  > = {
10
11
  isUserInitiallyLoggedIn: boolean;
11
12
  mockedParams?: Partial<Oidc["params"]>;
12
13
  mockedTokens?: Partial<Oidc.Tokens<DecodedIdToken>>;
13
14
  publicUrl?: string;
15
+ isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
16
+ postLoginRedirectUrl?: string;
14
17
  };
15
18
 
16
19
  const urlParamName = "isUserLoggedIn";
17
20
 
18
- export function createMockOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>>(
19
- params: ParamsOfCreateMockOidc<DecodedIdToken>
20
- ): Oidc<DecodedIdToken> {
21
+ export function createMockOidc<
22
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
23
+ IsAuthRequiredOnEveryPages extends boolean = false
24
+ >(
25
+ params: ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>
26
+ ): IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken> {
21
27
  const {
22
28
  isUserInitiallyLoggedIn,
23
29
  mockedParams = {},
24
30
  mockedTokens = {},
25
- publicUrl: publicUrl_params
31
+ publicUrl: publicUrl_params,
32
+ isAuthRequiredOnEveryPages = false,
33
+ postLoginRedirectUrl
26
34
  } = params;
27
35
 
28
36
  const isUserLoggedIn = (() => {
@@ -60,12 +68,19 @@ export function createMockOidc<DecodedIdToken extends Record<string, unknown> =
60
68
  };
61
69
 
62
70
  if (!isUserLoggedIn) {
63
- return id<Oidc.NotLoggedIn>({
71
+ const oidc = id<Oidc.NotLoggedIn>({
64
72
  ...common,
65
73
  "isUserLoggedIn": false,
66
- "login": async () => {
74
+ "login": async ({ redirectUrl }) => {
67
75
  const { newUrl } = addQueryParamToUrl({
68
- "url": window.location.href,
76
+ "url": (() => {
77
+ if (redirectUrl === undefined) {
78
+ return window.location.href;
79
+ }
80
+ return redirectUrl.startsWith("/")
81
+ ? `${window.location.origin}${redirectUrl}`
82
+ : redirectUrl;
83
+ })(),
69
84
  "name": urlParamName,
70
85
  "value": "true"
71
86
  });
@@ -76,6 +91,15 @@ export function createMockOidc<DecodedIdToken extends Record<string, unknown> =
76
91
  },
77
92
  "initializationError": undefined
78
93
  });
94
+ if (!isAuthRequiredOnEveryPages) {
95
+ oidc.login({
96
+ "redirectUrl": postLoginRedirectUrl,
97
+ "doesCurrentHrefRequiresAuth": true
98
+ });
99
+ assert(false);
100
+ }
101
+ // @ts-expect-error: We know what we are doing
102
+ return oidc;
79
103
  }
80
104
 
81
105
  return id<Oidc.LoggedIn<DecodedIdToken>>({
@@ -1,8 +1,10 @@
1
- import { createReactOidc_dependencyInjection } from "../react/react";
1
+ import { createOidcReactApi_dependencyInjection } from "../react/react";
2
2
  import { createMockOidc, type ParamsOfCreateMockOidc } from "./oidc";
3
3
 
4
+ /** @see: https://docs.oidc-spa.dev/documentation/mock */
4
5
  export function createMockReactOidc<
5
- DecodedIdToken extends Record<string, unknown> = Record<string, unknown>
6
- >(params: ParamsOfCreateMockOidc<DecodedIdToken>) {
7
- return createReactOidc_dependencyInjection(params, createMockOidc);
6
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
7
+ IsAuthRequiredOnEveryPages extends boolean = false
8
+ >(params: ParamsOfCreateMockOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>) {
9
+ return createOidcReactApi_dependencyInjection(params, createMockOidc);
8
10
  }
package/src/oidc.ts CHANGED
@@ -156,11 +156,15 @@ export class OidcInitializationError extends Error {
156
156
  const paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state", "iss"] as const;
157
157
 
158
158
  export type ParamsOfCreateOidc<
159
- DecodedIdToken extends Record<string, unknown> = Record<string, unknown>
159
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
160
+ IsAuthRequiredOnEveryPages extends boolean = false
160
161
  > = {
161
162
  issuerUri: string;
162
163
  clientId: string;
163
164
  clientSecret?: string;
165
+ /**
166
+ * Transform the url before redirecting to the login pages.
167
+ */
164
168
  transformUrlBeforeRedirect?: (url: string) => string;
165
169
  /**
166
170
  * Extra query params to be added on the login url.
@@ -168,8 +172,19 @@ export type ParamsOfCreateOidc<
168
172
  * when login() is called.
169
173
  *
170
174
  * Example: extraQueryParams: ()=> ({ ui_locales: "fr" })
175
+ *
176
+ * This parameter can also be passed to login() directly.
171
177
  */
172
178
  extraQueryParams?: Record<string, string> | (() => Record<string, string>);
179
+ /**
180
+ * Where to redirect after successful login.
181
+ * Default: window.location.href (here)
182
+ *
183
+ * It does not need to include the origin, eg: "/dashboard"
184
+ *
185
+ * This parameter can also be passed to login() directly as `redirectUrl`.
186
+ */
187
+ postLoginRedirectUrl?: string;
173
188
  /**
174
189
  * This parameter is used to let oidc-spa knows where to find the silent-sso.html file
175
190
  * and also to know what is the root path of your application so it can redirect to it after logout.
@@ -198,6 +213,7 @@ export type ParamsOfCreateOidc<
198
213
  __unsafe_ssoSessionIdleSeconds?: number;
199
214
 
200
215
  autoLogoutParams?: Parameters<Oidc.LoggedIn<any>["logout"]>[0];
216
+ isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
201
217
  };
202
218
 
203
219
  let $isUserActive: StatefulObservable<boolean> | undefined = undefined;
@@ -207,8 +223,13 @@ const URL_real = window.URL;
207
223
 
208
224
  /** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
209
225
  export async function createOidc<
210
- DecodedIdToken extends Record<string, unknown> = Record<string, unknown>
211
- >(params: ParamsOfCreateOidc<DecodedIdToken>): Promise<Oidc<DecodedIdToken>> {
226
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
227
+ IsAuthRequiredOnEveryPages extends boolean = false
228
+ >(
229
+ params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>
230
+ ): Promise<
231
+ IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>
232
+ > {
212
233
  const {
213
234
  issuerUri,
214
235
  clientId,
@@ -218,7 +239,9 @@ export async function createOidc<
218
239
  publicUrl: publicUrl_params,
219
240
  decodedIdTokenSchema,
220
241
  __unsafe_ssoSessionIdleSeconds,
221
- autoLogoutParams = { "redirectTo": "current page" }
242
+ autoLogoutParams = { "redirectTo": "current page" },
243
+ isAuthRequiredOnEveryPages = false,
244
+ postLoginRedirectUrl
222
245
  } = params;
223
246
 
224
247
  const getExtraQueryParams = (() => {
@@ -820,13 +843,17 @@ export async function createOidc<
820
843
  "cause": error
821
844
  });
822
845
 
846
+ if (isAuthRequiredOnEveryPages) {
847
+ throw initializationError;
848
+ }
849
+
823
850
  console.error(
824
851
  `OIDC initialization error of type "${initializationError.type}": ${initializationError.message}`
825
852
  );
826
853
 
827
854
  startTrackingLastPublicRoute();
828
855
 
829
- return id<Oidc.NotLoggedIn>({
856
+ const oidc = id<Oidc.NotLoggedIn>({
830
857
  ...common,
831
858
  "isUserLoggedIn": false,
832
859
  "login": async () => {
@@ -835,17 +862,30 @@ export async function createOidc<
835
862
  },
836
863
  initializationError
837
864
  });
865
+
866
+ // @ts-expect-error: We know what we are doing.
867
+ return oidc;
838
868
  }
839
869
 
840
870
  if (resultOfLoginProcess === undefined) {
871
+ if (isAuthRequiredOnEveryPages) {
872
+ await login({
873
+ "doesCurrentHrefRequiresAuth": true,
874
+ "redirectUrl": postLoginRedirectUrl
875
+ });
876
+ }
877
+
841
878
  startTrackingLastPublicRoute();
842
879
 
843
- return id<Oidc.NotLoggedIn>({
880
+ const oidc = id<Oidc.NotLoggedIn>({
844
881
  ...common,
845
882
  "isUserLoggedIn": false,
846
883
  login,
847
884
  "initializationError": undefined
848
885
  });
886
+
887
+ // @ts-expect-error: We know what we are doing.
888
+ return oidc;
849
889
  }
850
890
 
851
891
  let currentTokens = resultOfLoginProcess.tokens;
@@ -986,7 +1026,9 @@ export async function createOidc<
986
1026
  {
987
1027
  const { startCountdown } = createStartCountdown({
988
1028
  "getCountdownEndTime": () =>
989
- __unsafe_ssoSessionIdleSeconds ?? currentTokens.refreshTokenExpirationTime,
1029
+ __unsafe_ssoSessionIdleSeconds !== undefined
1030
+ ? Date.now() + __unsafe_ssoSessionIdleSeconds * 1000
1031
+ : currentTokens.refreshTokenExpirationTime,
990
1032
  "tickCallback": ({ secondsLeft }) => {
991
1033
  Array.from(autoLogoutCountdownTickCallbacks).forEach(tickCallback =>
992
1034
  tickCallback({ secondsLeft })
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useState, createContext, useContext, useReducer, type ReactNode } from "react";
2
- import { createOidc, type ParamsOfCreateOidc, type Oidc, type OidcInitializationError } from "../oidc";
2
+ import { createOidc, type ParamsOfCreateOidc, type Oidc, OidcInitializationError } from "../oidc";
3
3
  import { assert } from "tsafe/assert";
4
4
  import { id } from "tsafe/id";
5
5
  import { useGuaranteedMemo } from "../tools/powerhooks/useGuaranteedMemo";
@@ -44,35 +44,99 @@ const oidcContext = createContext<
44
44
  | undefined
45
45
  >(undefined);
46
46
 
47
- export function createReactOidc_dependencyInjection<
47
+ type OidcReactApi<
48
48
  DecodedIdToken extends Record<string, unknown>,
49
- ParamsOfCreateOidc extends
50
- | { decodedIdTokenSchema: { parse: (data: unknown) => DecodedIdToken } | undefined }
49
+ IsAuthRequiredOnEveryPages extends boolean
50
+ > = {
51
+ // TODO: Error fallback when auth required on every pages.
52
+ OidcProvider: IsAuthRequiredOnEveryPages extends true
53
+ ? (props: { fallback?: ReactNode; children: ReactNode }) => JSX.Element
54
+ : (props: {
55
+ fallback?: ReactNode;
56
+ ErrorFallback?: (props: { initializationError: OidcInitializationError }) => ReactNode;
57
+ children: ReactNode;
58
+ }) => JSX.Element;
59
+ useOidc: IsAuthRequiredOnEveryPages extends true
60
+ ? {
61
+ (params?: { assertUserLoggedIn: true }): OidcReact.LoggedIn<DecodedIdToken>;
62
+ }
63
+ : {
64
+ (params?: { assertUserLoggedIn: false }): OidcReact<DecodedIdToken>;
65
+ (params: { assertUserLoggedIn: true }): OidcReact<DecodedIdToken>;
66
+ };
67
+ prOidc: Promise<
68
+ IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>
69
+ >;
70
+ };
71
+
72
+ export function createOidcReactApi_dependencyInjection<
73
+ DecodedIdToken extends Record<string, unknown>,
74
+ ParamsOfCreateOidc extends {
75
+ isAuthRequiredOnEveryPages?: boolean;
76
+ } & (
77
+ | {
78
+ decodedIdTokenSchema: { parse: (data: unknown) => DecodedIdToken } | undefined;
79
+ }
51
80
  | {}
81
+ )
52
82
  >(
53
83
  params: ParamsOfCreateOidc,
54
84
  createOidc: (params: ParamsOfCreateOidc) => PromiseOrNot<Oidc<DecodedIdToken>>
55
- ) {
56
- const prOidc = Promise.resolve(createOidc(params));
85
+ ): OidcReactApi<
86
+ DecodedIdToken,
87
+ ParamsOfCreateOidc extends { isAuthRequiredOnEveryPages: boolean }
88
+ ? ParamsOfCreateOidc["isAuthRequiredOnEveryPages"]
89
+ : false
90
+ > {
91
+ const prOidc = Promise.resolve(createOidc(params)).catch(error => {
92
+ if (!(error instanceof OidcInitializationError)) {
93
+ throw error;
94
+ }
95
+
96
+ return error;
97
+ });
57
98
 
58
99
  const { decodedIdTokenSchema } =
59
100
  "decodedIdTokenSchema" in params ? params : { "decodedIdTokenSchema": undefined };
60
101
 
61
- function OidcProvider(props: { fallback?: ReactNode; children: ReactNode }) {
62
- const { children, fallback } = props;
102
+ function OidcProvider(props: {
103
+ fallback?: ReactNode;
104
+ ErrorFallback?: (props: { initializationError: OidcInitializationError }) => ReactNode;
105
+ children: ReactNode;
106
+ }) {
107
+ const { fallback, ErrorFallback, children } = props;
63
108
 
64
- const [oidc, setOidc] = useState<Oidc | undefined>(undefined);
109
+ const [oidcOrInitializationError, setOidcOrInitializationError] = useState<
110
+ Oidc | OidcInitializationError | undefined
111
+ >(undefined);
65
112
 
66
113
  useEffect(() => {
67
- prOidc.then(setOidc);
114
+ prOidc.then(setOidcOrInitializationError);
68
115
  }, []);
69
116
 
70
- if (oidc === undefined) {
117
+ if (oidcOrInitializationError === undefined) {
71
118
  return <>{fallback === undefined ? null : fallback}</>;
72
119
  }
73
120
 
121
+ if (oidcOrInitializationError instanceof OidcInitializationError) {
122
+ const initializationError = oidcOrInitializationError;
123
+
124
+ return (
125
+ <>
126
+ {ErrorFallback === undefined ? (
127
+ <h1 style={{ "color": "red" }}>
128
+ An error occurred while initializing the OIDC client:&nbsp;
129
+ {initializationError.message}
130
+ </h1>
131
+ ) : (
132
+ <ErrorFallback initializationError={initializationError} />
133
+ )}
134
+ </>
135
+ );
136
+ }
137
+
74
138
  return (
75
- <oidcContext.Provider value={{ oidc, decodedIdTokenSchema }}>
139
+ <oidcContext.Provider value={{ oidc: oidcOrInitializationError, decodedIdTokenSchema }}>
76
140
  {children}
77
141
  </oidcContext.Provider>
78
142
  );
@@ -185,12 +249,19 @@ export function createReactOidc_dependencyInjection<
185
249
  });
186
250
  }
187
251
 
188
- return { OidcProvider, useOidc, prOidc };
252
+ return {
253
+ OidcProvider,
254
+ // @ts-expect-error: We know what we are doing
255
+ useOidc,
256
+ // @ts-expect-error: We know what we are doing
257
+ prOidc
258
+ };
189
259
  }
190
260
 
191
- /** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
261
+ /** @see: https://docs.oidc-spa.dev/documentation/usage#react-api */
192
262
  export function createReactOidc<
193
- DecodedIdToken extends Record<string, unknown> = Record<string, unknown>
194
- >(params: ParamsOfCreateOidc<DecodedIdToken>) {
195
- return createReactOidc_dependencyInjection(params, createOidc);
263
+ DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
264
+ IsAuthRequiredOnEveryPages extends boolean = false
265
+ >(params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>) {
266
+ return createOidcReactApi_dependencyInjection(params, createOidc);
196
267
  }