oidc-spa 4.8.1 → 4.9.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/index.d.ts +1 -1
- package/mock/oidc.d.ts +4 -2
- package/mock/oidc.js +31 -12
- package/mock/oidc.js.map +1 -1
- package/mock/react.d.ts +7 -3
- package/mock/react.js +2 -1
- package/mock/react.js.map +1 -1
- package/oidc.d.ts +24 -2
- package/oidc.js +105 -24
- package/oidc.js.map +1 -1
- package/package.json +1 -1
- package/react/react.d.ts +27 -25
- package/react/react.js +27 -12
- package/react/react.js.map +1 -1
- package/src/index.ts +1 -1
- package/src/mock/oidc.ts +32 -8
- package/src/mock/react.tsx +6 -4
- package/src/oidc.ts +130 -8
- package/src/react/react.tsx +88 -17
package/index.d.ts
CHANGED
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
|
|
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
|
-
|
|
87
|
-
var
|
|
88
|
-
return
|
|
89
|
-
newUrl
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
}
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAAwF;AACxF,+BAA8B;AAC9B,8FAA6F;AAC7F,uCAAmD;
|
|
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
|
-
|
|
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
|
-
}) =>
|
|
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
|
|
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.
|
|
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,
|
|
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
|
@@ -67,22 +67,32 @@ export declare class OidcInitializationError extends Error {
|
|
|
67
67
|
type: "misconfigured OIDC client";
|
|
68
68
|
clientId: string;
|
|
69
69
|
timeoutDelayMs: number;
|
|
70
|
+
publicUrl: string | undefined;
|
|
70
71
|
} | {
|
|
71
72
|
type: "not in Web Origins";
|
|
72
73
|
clientId: string;
|
|
73
74
|
} | {
|
|
74
75
|
type: "silent-sso.html not reachable";
|
|
75
76
|
silentSsoHtmlUrl: string;
|
|
77
|
+
} | {
|
|
78
|
+
type: "frame-ancestors none";
|
|
79
|
+
silentSso: {
|
|
80
|
+
hasDedicatedHtmlFile: boolean;
|
|
81
|
+
redirectUri: string;
|
|
82
|
+
};
|
|
76
83
|
};
|
|
77
84
|
} | {
|
|
78
85
|
type: "unknown";
|
|
79
86
|
cause: Error;
|
|
80
87
|
});
|
|
81
88
|
}
|
|
82
|
-
export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown
|
|
89
|
+
export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, IsAuthRequiredOnEveryPages extends boolean = false> = {
|
|
83
90
|
issuerUri: string;
|
|
84
91
|
clientId: string;
|
|
85
92
|
clientSecret?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Transform the url before redirecting to the login pages.
|
|
95
|
+
*/
|
|
86
96
|
transformUrlBeforeRedirect?: (url: string) => string;
|
|
87
97
|
/**
|
|
88
98
|
* Extra query params to be added on the login url.
|
|
@@ -90,8 +100,19 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
|
|
|
90
100
|
* when login() is called.
|
|
91
101
|
*
|
|
92
102
|
* Example: extraQueryParams: ()=> ({ ui_locales: "fr" })
|
|
103
|
+
*
|
|
104
|
+
* This parameter can also be passed to login() directly.
|
|
93
105
|
*/
|
|
94
106
|
extraQueryParams?: Record<string, string> | (() => Record<string, string>);
|
|
107
|
+
/**
|
|
108
|
+
* Where to redirect after successful login.
|
|
109
|
+
* Default: window.location.href (here)
|
|
110
|
+
*
|
|
111
|
+
* It does not need to include the origin, eg: "/dashboard"
|
|
112
|
+
*
|
|
113
|
+
* This parameter can also be passed to login() directly as `redirectUrl`.
|
|
114
|
+
*/
|
|
115
|
+
postLoginRedirectUrl?: string;
|
|
95
116
|
/**
|
|
96
117
|
* This parameter is used to let oidc-spa knows where to find the silent-sso.html file
|
|
97
118
|
* and also to know what is the root path of your application so it can redirect to it after logout.
|
|
@@ -121,6 +142,7 @@ export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> =
|
|
|
121
142
|
* */
|
|
122
143
|
__unsafe_ssoSessionIdleSeconds?: number;
|
|
123
144
|
autoLogoutParams?: Parameters<Oidc.LoggedIn<any>["logout"]>[0];
|
|
145
|
+
isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
|
|
124
146
|
};
|
|
125
147
|
/** @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
|
|
148
|
+
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
|
@@ -116,6 +116,7 @@ var OidcInitializationError = /** @class */ (function (_super) {
|
|
|
116
116
|
function OidcInitializationError(params) {
|
|
117
117
|
var _newTarget = this.constructor;
|
|
118
118
|
var _this = _super.call(this, (function () {
|
|
119
|
+
var _a;
|
|
119
120
|
switch (params.type) {
|
|
120
121
|
case "server down":
|
|
121
122
|
return [
|
|
@@ -129,7 +130,7 @@ var OidcInitializationError = /** @class */ (function (_super) {
|
|
|
129
130
|
case "misconfigured OIDC client":
|
|
130
131
|
return [
|
|
131
132
|
"The OIDC client ".concat(params.likelyCause.clientId, " seems to be misconfigured on your OIDC server."),
|
|
132
|
-
"If you are using Keycloak you likely need to add \"".concat(location.origin, "/*\" to the list of Valid Redirect URIs"),
|
|
133
|
+
"If you are using Keycloak you likely need to add \"".concat((_a = params.likelyCause.publicUrl) !== null && _a !== void 0 ? _a : window.location.origin, "/*\" to the list of Valid Redirect URIs"),
|
|
133
134
|
"in the ".concat(params.likelyCause.clientId, " client configuration.\n"),
|
|
134
135
|
"More info: https://docs.oidc-spa.dev/resources/usage-with-keycloak",
|
|
135
136
|
"Silent SSO timed out after ".concat(params.likelyCause.timeoutDelayMs, "ms.")
|
|
@@ -146,6 +147,24 @@ var OidcInitializationError = /** @class */ (function (_super) {
|
|
|
146
147
|
"".concat(params.likelyCause.silentSsoHtmlUrl, " is not reachable. Make sure you've created the silent-sso.html file"),
|
|
147
148
|
"in your public directory. More info: https://docs.oidc-spa.dev/documentation/installation"
|
|
148
149
|
].join(" ");
|
|
150
|
+
case "frame-ancestors none":
|
|
151
|
+
return [
|
|
152
|
+
params.likelyCause.silentSso.hasDedicatedHtmlFile
|
|
153
|
+
? "The silent-sso.html file, "
|
|
154
|
+
: "The URI used for Silent SSO, ",
|
|
155
|
+
"".concat(params.likelyCause.silentSso.redirectUri, ", "),
|
|
156
|
+
"is served by your web server with the HTTP header `Content-Security-Policy: frame-ancestors none` in the response.\n",
|
|
157
|
+
"This header prevents the silent sign-in process from working.\n",
|
|
158
|
+
"To fix this issue, you should configure your web server to not send this header or to use `frame-ancestors self` instead of `frame-ancestors none`.\n",
|
|
159
|
+
"If you use Nginx, you can replace:\n",
|
|
160
|
+
"add_header Content-Security-Policy \"frame-ancestors 'none'\";\n",
|
|
161
|
+
"with:\n",
|
|
162
|
+
"map $uri $add_content_security_policy {\n",
|
|
163
|
+
" \"~*silent-sso.html$\" \"frame-ancestors 'self'\";\n",
|
|
164
|
+
" default \"frame-ancestors 'none'\";\n",
|
|
165
|
+
"}\n",
|
|
166
|
+
"add_header Content-Security-Policy $add_content_security_policy;\n"
|
|
167
|
+
].join(" ");
|
|
149
168
|
}
|
|
150
169
|
case "unknown":
|
|
151
170
|
return params.cause.message;
|
|
@@ -168,12 +187,12 @@ var URL_real = window.URL;
|
|
|
168
187
|
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
169
188
|
function createOidc(params) {
|
|
170
189
|
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;
|
|
190
|
+
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
191
|
var _this = this;
|
|
173
|
-
return __generator(this, function (
|
|
174
|
-
switch (
|
|
192
|
+
return __generator(this, function (_d) {
|
|
193
|
+
switch (_d.label) {
|
|
175
194
|
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;
|
|
195
|
+
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
196
|
getExtraQueryParams = (function () {
|
|
178
197
|
if (typeof extraQueryParamsOrGetter === "function") {
|
|
179
198
|
return extraQueryParamsOrGetter;
|
|
@@ -234,14 +253,14 @@ function createOidc(params) {
|
|
|
234
253
|
// Here the user forget to create the silent-sso.html file or or the web server is not serving it correctly
|
|
235
254
|
// we shouldn't fall back to the SPA page.
|
|
236
255
|
// In this case we want to let the timeout of the parent expire to provide the correct error message.
|
|
237
|
-
|
|
238
|
-
|
|
256
|
+
_d.sent();
|
|
257
|
+
_d.label = 2;
|
|
239
258
|
case 2:
|
|
240
259
|
parent.postMessage(location.href, location.origin);
|
|
241
260
|
return [4 /*yield*/, new Promise(function () { })];
|
|
242
261
|
case 3:
|
|
243
|
-
|
|
244
|
-
|
|
262
|
+
_d.sent();
|
|
263
|
+
_d.label = 4;
|
|
245
264
|
case 4:
|
|
246
265
|
oidcClientTsUserManager = new oidc_client_ts_1.UserManager({
|
|
247
266
|
"authority": issuerUri,
|
|
@@ -512,11 +531,12 @@ function createOidc(params) {
|
|
|
512
531
|
return Math.max(baseDelay, dynamicDelay);
|
|
513
532
|
})();
|
|
514
533
|
timeout_1 = (0, worker_timers_1.setTimeout)(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
515
|
-
var isSilentSsoHtmlReachable;
|
|
534
|
+
var dedicatedSilentSsoHtmlFileCsp, isSilentSsoHtmlReachable, csp, hasFrameAncestorsNone;
|
|
516
535
|
var _this = this;
|
|
517
536
|
return __generator(this, function (_a) {
|
|
518
537
|
switch (_a.label) {
|
|
519
538
|
case 0:
|
|
539
|
+
dedicatedSilentSsoHtmlFileCsp = undefined;
|
|
520
540
|
if (!silentSso.hasDedicatedHtmlFile) {
|
|
521
541
|
return [3 /*break*/, 2];
|
|
522
542
|
}
|
|
@@ -524,7 +544,10 @@ function createOidc(params) {
|
|
|
524
544
|
var content;
|
|
525
545
|
return __generator(this, function (_a) {
|
|
526
546
|
switch (_a.label) {
|
|
527
|
-
case 0:
|
|
547
|
+
case 0:
|
|
548
|
+
dedicatedSilentSsoHtmlFileCsp =
|
|
549
|
+
response.headers.get("Content-Security-Policy");
|
|
550
|
+
return [4 /*yield*/, response.text()];
|
|
528
551
|
case 1:
|
|
529
552
|
content = _a.sent();
|
|
530
553
|
return [2 /*return*/, (content.length < 250 &&
|
|
@@ -545,7 +568,48 @@ function createOidc(params) {
|
|
|
545
568
|
}
|
|
546
569
|
}));
|
|
547
570
|
return [2 /*return*/];
|
|
548
|
-
case 2:
|
|
571
|
+
case 2: return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
572
|
+
var csp;
|
|
573
|
+
return __generator(this, function (_a) {
|
|
574
|
+
switch (_a.label) {
|
|
575
|
+
case 0:
|
|
576
|
+
if (silentSso.hasDedicatedHtmlFile) {
|
|
577
|
+
(0, assert_1.assert)(dedicatedSilentSsoHtmlFileCsp !== undefined);
|
|
578
|
+
return [2 /*return*/, dedicatedSilentSsoHtmlFileCsp];
|
|
579
|
+
}
|
|
580
|
+
return [4 /*yield*/, fetch(silentSso.redirectUri).then(function (response) { return response.headers.get("Content-Security-Policy"); }, function (error) { return (0, id_1.id)(error); })];
|
|
581
|
+
case 1:
|
|
582
|
+
csp = _a.sent();
|
|
583
|
+
if (csp instanceof Error) {
|
|
584
|
+
dLoginSuccessUrl_1.reject(new Error("Failed to fetch ".concat(silentSso.redirectUri, ": ").concat(csp.message)));
|
|
585
|
+
return [2 /*return*/, new Promise(function () { })];
|
|
586
|
+
}
|
|
587
|
+
return [2 /*return*/, csp];
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
}); })()];
|
|
591
|
+
case 3:
|
|
592
|
+
csp = _a.sent();
|
|
593
|
+
if (csp === null) {
|
|
594
|
+
return [3 /*break*/, 4];
|
|
595
|
+
}
|
|
596
|
+
hasFrameAncestorsNone = csp
|
|
597
|
+
.replace(/"'/g, "")
|
|
598
|
+
.replace(/\s+/g, " ")
|
|
599
|
+
.toLowerCase()
|
|
600
|
+
.includes("frame-ancestors none");
|
|
601
|
+
if (!hasFrameAncestorsNone) {
|
|
602
|
+
return [3 /*break*/, 4];
|
|
603
|
+
}
|
|
604
|
+
dLoginSuccessUrl_1.reject(new OidcInitializationError({
|
|
605
|
+
"type": "bad configuration",
|
|
606
|
+
"likelyCause": {
|
|
607
|
+
"type": "frame-ancestors none",
|
|
608
|
+
silentSso: silentSso
|
|
609
|
+
}
|
|
610
|
+
}));
|
|
611
|
+
return [2 /*return*/];
|
|
612
|
+
case 4:
|
|
549
613
|
// Here we know that the server is not down and that the issuer_uri is correct
|
|
550
614
|
// otherwise we would have had a fetch error when loading the iframe.
|
|
551
615
|
// So this means that it's very likely a OIDC client misconfiguration.
|
|
@@ -556,7 +620,8 @@ function createOidc(params) {
|
|
|
556
620
|
"likelyCause": {
|
|
557
621
|
"type": "misconfigured OIDC client",
|
|
558
622
|
clientId: clientId,
|
|
559
|
-
timeoutDelayMs: timeoutDelayMs_1
|
|
623
|
+
timeoutDelayMs: timeoutDelayMs_1,
|
|
624
|
+
publicUrl: publicUrl
|
|
560
625
|
}
|
|
561
626
|
}));
|
|
562
627
|
return [2 /*return*/];
|
|
@@ -701,7 +766,7 @@ function createOidc(params) {
|
|
|
701
766
|
return error;
|
|
702
767
|
})];
|
|
703
768
|
case 5:
|
|
704
|
-
resultOfLoginProcess =
|
|
769
|
+
resultOfLoginProcess = _d.sent();
|
|
705
770
|
common = {
|
|
706
771
|
"params": {
|
|
707
772
|
issuerUri: issuerUri,
|
|
@@ -716,19 +781,35 @@ function createOidc(params) {
|
|
|
716
781
|
"type": "unknown",
|
|
717
782
|
"cause": error
|
|
718
783
|
});
|
|
784
|
+
if (isAuthRequiredOnEveryPages) {
|
|
785
|
+
throw initializationError;
|
|
786
|
+
}
|
|
719
787
|
console.error("OIDC initialization error of type \"".concat(initializationError.type, "\": ").concat(initializationError.message));
|
|
720
788
|
startTrackingLastPublicRoute();
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
startTrackingLastPublicRoute();
|
|
730
|
-
return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login, "initializationError": undefined }))];
|
|
789
|
+
oidc_1 = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
|
|
790
|
+
return __generator(this, function (_a) {
|
|
791
|
+
alert("Authentication is currently unavailable. Please try again later.");
|
|
792
|
+
return [2 /*return*/, new Promise(function () { })];
|
|
793
|
+
});
|
|
794
|
+
}); }, initializationError: initializationError }));
|
|
795
|
+
// @ts-expect-error: We know what we are doing.
|
|
796
|
+
return [2 /*return*/, oidc_1];
|
|
731
797
|
}
|
|
798
|
+
if (!(resultOfLoginProcess === undefined)) return [3 /*break*/, 8];
|
|
799
|
+
if (!isAuthRequiredOnEveryPages) return [3 /*break*/, 7];
|
|
800
|
+
return [4 /*yield*/, login({
|
|
801
|
+
"doesCurrentHrefRequiresAuth": true,
|
|
802
|
+
"redirectUrl": postLoginRedirectUrl
|
|
803
|
+
})];
|
|
804
|
+
case 6:
|
|
805
|
+
_d.sent();
|
|
806
|
+
_d.label = 7;
|
|
807
|
+
case 7:
|
|
808
|
+
startTrackingLastPublicRoute();
|
|
809
|
+
oidc_2 = (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login, "initializationError": undefined }));
|
|
810
|
+
// @ts-expect-error: We know what we are doing.
|
|
811
|
+
return [2 /*return*/, oidc_2];
|
|
812
|
+
case 8:
|
|
732
813
|
currentTokens = resultOfLoginProcess.tokens;
|
|
733
814
|
autoLogoutCountdownTickCallbacks = new Set();
|
|
734
815
|
onTokenChanges = new Set();
|
package/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAuG;AACvG,+BAA8B;AAC9B,2EAA0E;AAC1E,uCAAmD;AACnD,yDAAuF;AACvF,yDAAwD;AACxD,6CAA4C;AAC5C,+CAA8C;AAC9C,+DAA8D;AAC9D,iEAAgE;AAChE,yDAA8D;AAE9D,+CAAyD;AAiEzD;IAA6C,2CAAK;IAG9C,iCACI,MA0BO;;QAEP,YAAA,MAAK,YACD,CAAC;YACG,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,aAAa;oBACd,OAAO;wBACH,mCAAmC;wBACnC,qEAA8D,MAAM,CAAC,SAAS,mBAAgB;wBAC9F,+FAA+F;wBAC/F,oEAAoE;qBACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,KAAK,mBAAmB;oBACpB,QAAQ,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;wBAC9B,KAAK,2BAA2B;4BAC5B,OAAO;gCACH,0BAAmB,MAAM,CAAC,WAAW,CAAC,QAAQ,oDAAiD;gCAC/F,6DAAqD,QAAQ,CAAC,MAAM,4CAAwC;gCAC5G,iBAAU,MAAM,CAAC,WAAW,CAAC,QAAQ,6BAA0B;gCAC/D,oEAAoE;gCACpE,qCAA8B,MAAM,CAAC,WAAW,CAAC,cAAc,QAAK;6BACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChB,KAAK,oBAAoB;4BACrB,OAAO;gCACH,sCAAsC;gCACtC,6EAAoE,MAAM,CAAC,WAAW,CAAC,QAAQ,2BAAwB;gCACvH,oCAA4B,QAAQ,CAAC,MAAM,sBAAkB;gCAC7D,oEAAoE;6BACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChB,KAAK,+BAA+B;4BAChC,OAAO;gCACH,UAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,yEAAsE;gCAC5G,2FAA2F;6BAC9F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC;gBACL,KAAK,SAAS;oBACV,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACpC,CAAC;YACD,IAAA,eAAM,EAA+B,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE;QACJ,mBAAmB;QACnB,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACpE,SAAC;QACF,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,WAAW,SAAS,CAAC,CAAC;;IACtD,CAAC;IACL,8BAAC;AAAD,CAAC,AA5ED,CAA6C,KAAK,GA4EjD;AA5EY,0DAAuB;AA8EpC,IAAM,mCAAmC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAU,CAAC;AA+C/F,IAAI,aAAa,GAA4C,SAAS,CAAC;AACvE,IAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE7D,IAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AAE5B,mGAAmG;AACnG,SAAsB,UAAU,CAE9B,MAA0C;;;;;;;oBAEpC,SAAS,GAST,MAAM,UATG,EACT,QAAQ,GAQR,MAAM,SARE,EACR,YAAY,GAOZ,MAAM,aAPM,EACZ,KAMA,MAAM,2BANiC,EAAvC,0BAA0B,mBAAG,UAAA,GAAG,IAAI,OAAA,GAAG,EAAH,CAAG,KAAA,EACrB,wBAAwB,GAK1C,MAAM,iBALoC,EAC/B,gBAAgB,GAI3B,MAAM,UAJqB,EAC3B,oBAAoB,GAGpB,MAAM,qBAHc,EACpB,8BAA8B,GAE9B,MAAM,+BAFwB,EAC9B,KACA,MAAM,iBAD6C,EAAnD,gBAAgB,mBAAG,EAAE,YAAY,EAAE,cAAc,EAAE,KAAA,CAC5C;oBAEL,mBAAmB,GAAG,CAAC;wBACzB,IAAI,OAAO,wBAAwB,KAAK,UAAU,EAAE,CAAC;4BACjD,OAAO,wBAAwB,CAAC;wBACpC,CAAC;wBAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;4BACzC,OAAO,cAAM,OAAA,wBAAwB,EAAxB,CAAwB,CAAC;wBAC1C,CAAC;wBAED,OAAO,SAAS,CAAC;oBACrB,CAAC,CAAC,EAAE,CAAC;oBAEC,SAAS,GAAG,CAAC;wBACf,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,SAAS,CAAC;wBACrB,CAAC;wBAED,OAAO,CACH,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC;4BAC/B,CAAC,CAAC,gBAAgB;4BAClB,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,gBAAgB,CAAE,CACvD,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzB,CAAC,CAAC,EAAE,CAAC;oBAEC,UAAU,GAAG,IAAA,+BAAc,EAAC,UAAG,SAAS,cAAI,QAAQ,CAAE,CAAC,CAAC;oBAE9D,CAAC;wBACS,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAEnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC;wBAC7D,CAAC;wBAED,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBACjD,CAAC;oBAEK,aAAa,GAAG,YAAY,CAAC;oBAE7B,SAAS,GACX,SAAS,KAAK,SAAS;wBACnB,CAAC,CAAC;4BACI,sBAAsB,EAAE,KAAK;4BAC7B,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;yBACtC;wBACH,CAAC,CAAC;4BACI,sBAAsB,EAAE,IAAI;4BAC5B,aAAa,EAAE,UAAG,SAAS,qBAAkB;yBAChD,CAAC;oBAEN,YAAY,GAAG,kBAAkB,CAAC;oBAGpC,IACI,CAAC,IAAA,0CAAyB,EAAC;wBACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;wBAC3B,MAAM,EAAE,YAAY;qBACvB,CAAC,CAAC,UAAU,EACf,CAAC;wBACC,wBAA0B;oBAC9B,CAAC;oBAED,CAAC;wBACS,MAAM,GAAG,IAAA,0CAAyB,EAAC;4BACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;4BAC3B,MAAM,EAAE,aAAa;yBACxB,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;4BACpD,wBAA0B;wBAC9B,CAAC;oBACL,CAAC;yBAEG,SAAS,CAAC,oBAAoB,EAA9B,wBAA8B;oBAC9B,2GAA2G;oBAC3G,0CAA0C;oBAC1C,qGAAqG;oBACrG,qBAAM,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAA;;oBAHlC,2GAA2G;oBAC3G,0CAA0C;oBAC1C,qGAAqG;oBACrG,SAAkC,CAAC;;;oBAGvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAEnD,qBAAM,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAA;;oBAAlC,SAAkC,CAAC;;;oBAGjC,uBAAuB,GAAG,IAAI,4BAAuB,CAAC;wBACxD,WAAW,EAAE,SAAS;wBACtB,WAAW,EAAE,QAAQ;wBACrB,eAAe,EAAE,YAAY;wBAC7B,cAAc,EAAE,EAAE,CAAC,iCAAiC;wBACpD,eAAe,EAAE,MAAM;wBACvB,OAAO,EAAE,gBAAgB;wBACzB,sBAAsB,EAAE,KAAK;wBAC7B,qBAAqB,EAAE,CAAC;4BACd,IAAA,WAAW,GAAK,SAAS,YAAd,CAAe;4BAEhC,WAAW,GAAG,IAAA,mCAAkB,EAAC;gCAC7B,KAAK,EAAE,WAAW;gCAClB,MAAM,EAAE,aAAa;gCACrB,OAAO,EAAE,UAAU;6BACtB,CAAC,CAAC,MAAM,CAAC;4BAEV,WAAW,GAAG,IAAA,mCAAkB,EAAC;gCAC7B,KAAK,EAAE,WAAW;gCAClB,MAAM,EAAE,YAAY;gCACpB,OAAO,EAAE,MAAM;6BAClB,CAAC,CAAC,MAAM,CAAC;4BAEV,OAAO,WAAW,CAAC;wBACvB,CAAC,CAAC,EAAE;qBACP,CAAC,CAAC;oBAEC,eAAe,GAAuB,SAAS,CAAC;oBAG9C,4BAA4B,GAAG;wBACjC,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACtD,OAAO,CAAC,SAAS,GAAG,SAAS,SAAS;4BAAC,cAAO;iCAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gCAAP,yBAAO;;4BAC1C,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACvC,OAAO,aAAa,wCAAI,IAAI,WAAE;wBAClC,CAAC,CAAC;oBACN,CAAC,CAAC;oBAEE,kBAAkB,GAAG,KAAK,CAAC;oBAEzB,KAAK,GAA8B,UAAO,EAI/C;4BAHG,2BAA2B,iCAAA,EAC3B,gBAAgB,sBAAA,EAChB,WAAW,iBAAA;;;;;;wCAEX,IAAI,kBAAkB,EAAE,CAAC;4CACrB,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;wCACxC,CAAC;wCAED,kBAAkB,GAAG,IAAI,CAAC;wCAEV,YAAY,GAAK,IAAA,mCAAkB,EAAC;4CAChD,KAAK,EAAE,CAAC;gDACJ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oDAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gDAChC,CAAC;gDACD,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;oDAC9B,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,WAAW,CAAE;oDAC3C,CAAC,CAAC,WAAW,CAAC;4CACtB,CAAC,CAAC,EAAE;4CACJ,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE,UAAU;yCACtB,CAAC,OAX0B,CAWzB;wCAEH,uFAAuF;wCACvF,qGAAqG;wCACrG,iCAAiC;wCACjC,CAAC;4CACS,aAAW;gDACb,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oDACzC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,UAAQ,CAAC,CAAC;oDAE3D,IAAI,2BAA2B,EAAE,CAAC;wDAC9B,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;4DAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;wDAC3C,CAAC;6DAAM,CAAC;4DACJ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wDAC1B,CAAC;oDACL,CAAC;yDAAM,CAAC;wDACJ,kBAAkB,GAAG,KAAK,CAAC;oDAC/B,CAAC;gDACL,CAAC;4CACL,CAAC,CAAC;4CACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAQ,CAAC,CAAC;wCAC5D,CAAC;wCAED,0EAA0E;wCAC1E,0EAA0E;wCAC1E,0EAA0E;wCAC1E,oDAAoD;wCACpD,CAAC;4CACS,QAAM;gDAAC,cAA+C;qDAA/C,UAA+C,EAA/C,qBAA+C,EAA/C,IAA+C;oDAA/C,yBAA+C;;gDACxD,IAAM,WAAW,QAAO,QAAQ,YAAR,QAAQ,iCAAI,IAAI,aAAC,CAAC;gDAE1C,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;oDAC1B,KAAK,EAAE,UAAC,MAAM,EAAE,IAAI;wDAChB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;4DAClB,IAAI,KAAG,GAAG,WAAW,CAAC,IAAI,CAAC;4DAE3B,MAAM,CAAC,OAAO,uBACP,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,GACvB,gBAAgB,EACrB,CAAC,OAAO,CACN,UAAC,EAAa;oEAAb,KAAA,aAAa,EAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;gEACT,OAAA,CAAC,KAAG,GAAG,IAAA,mCAAkB,EAAC;oEACtB,GAAG,OAAA;oEACH,IAAI,MAAA;oEACJ,KAAK,OAAA;iEACR,CAAC,CAAC,MAAM,CAAC;4DAJV,CAIU,CACjB,CAAC;4DAEF,KAAG,GAAG,0BAA0B,CAAC,KAAG,CAAC,CAAC;4DAEtC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;4DAE5D,OAAO,KAAG,CAAC;wDACf,CAAC;wDAED,kBAAkB;wDAClB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;oDACxB,CAAC;iDACJ,CAAC,CAAC;4CACP,CAAC,CAAC;4CAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAG,EAAE,CAAC,CAAC;wCAC3D,CAAC;wCAED,qBAAM,uBAAuB,CAAC,cAAc,CAAC;gDACzC,YAAY,cAAA;gDACZ,0FAA0F;gDAC1F,gEAAgE;gDAChE,uDAAuD;gDACvD,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;6CACvE,CAAC,EAAA;;wCANF,SAME,CAAC;wCACH,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;;;qBACvC,CAAC;oBAE2B,qBAAM,CAAC,SAAe,OAAO;;;;;;;;4CAE9C,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;4CAE/B,CAAC;gDACS,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;gDAEzE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oDACpD,wBAAyC;gDAC7C,CAAC;gDAED,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;4CACxB,CAAC;4CAEG,eAAe,GAAG,mBAAmB,CAAC;4CAEtC,sBAAsB,GAAa,EAAE,CAAC;;gDAE1C,KAAmB,wCAAA,SAAA,mCAAmC,CAAA,iOAAE,CAAC;oDAApD;oDACK,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,IAAI,QAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oDAExD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wDACrB,IAAI,MAAI,KAAK,KAAK,EAAE,CAAC;4DACjB,SAAS;wDACb,CAAC;wDACD,sBAAsB,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;wDAClC,SAAS;oDACb,CAAC;oDAED,eAAe,GAAG,IAAA,mCAAkB,EAAC;wDACjC,KAAK,EAAE,eAAe;wDACtB,MAAM,EAAE,MAAI;wDACZ,OAAO,EAAE,MAAM,CAAC,KAAK;qDACxB,CAAC,CAAC,MAAM,CAAC;oDAEV,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;gDACxB,CAAC;;;;;;;;;4CAED,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;4CAExC,CAAC;gDACS,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;gDAEnE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oDACpB,MAAM,IAAI,KAAK,CACX;wDACI,2FAA2F;wDAC3F,yBAAkB,MAAM,CAAC,KAAK,CAAE;qDACnC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;gDACN,CAAC;4CACL,CAAC;4CAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gDACtC,MAAM,IAAI,KAAK,CACX;oDACI,sFAAsF;oDACtF,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;iDACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;4CACN,CAAC;4CAEG,gBAAgB,GAAiC,SAAS,CAAC;;;;4CAGxC,qBAAM,uBAAuB,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAA;;4CAAxF,gBAAgB,GAAG,SAAqE,CAAC;;;;4CAEzF,IAAA,eAAM,EAAC,OAAK,YAAY,KAAK,CAAC,CAAC;4CAE/B,IAAI,OAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gDACtC,mGAAmG;gDACnG,iDAAiD;gDACjD,2DAA2D;gDAC3D,MAAM,IAAI,uBAAuB,CAAC;oDAC9B,MAAM,EAAE,mBAAmB;oDAC3B,aAAa,EAAE;wDACX,MAAM,EAAE,oBAAoB;wDAC5B,QAAQ,UAAA;qDACX;iDACJ,CAAC,CAAC;4CACP,CAAC;4CAED,0EAA0E;4CAC1E,8FAA8F;4CAC9F,sBAAO,SAAS,EAAC;gDAGrB,sBAAO;gDACH,eAAe,EAAE,oBAA6B;gDAC9C,gBAAgB,kBAAA;6CACnB,EAAC;gDAIuB,qBAAM,uBAAuB,CAAC,OAAO,EAAE,EAAA;;4CAA1D,gBAAgB,GAAG,SAAuC;4CAEhE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gDAC5B,yBAA2B;4CAC/B,CAAC;;;;4CAIG,qBAAM,uBAAuB,CAAC,YAAY,EAAE,EAAA;;4CAA5C,SAA4C,CAAC;;;;4CAE7C,IAAA,eAAM,EAAC,OAAK,YAAY,KAAK,CAAC,CAAC;4CAE/B,IAAI,OAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gDACtC,oEAAoE;gDACpE,0EAA0E;gDAC1E,sDAAsD;gDACtD,wEAAwE;gDACxE,6EAA6E;gDAC7E,6EAA6E;gDAC7E,iFAAiF;gDACjF,MAAM,IAAI,uBAAuB,CAAC;oDAC9B,MAAM,EAAE,aAAa;oDACrB,SAAS,WAAA;iDACZ,CAAC,CAAC;4CACP,CAAC;4CAED,sBAAO,SAAS,EAAC;iDAGrB,sBAAO;gDACH,eAAe,EAAE,2BAAoC;gDACrD,gBAAgB,kBAAA;6CACnB,EAAC;;4CAII,qBAAmB,IAAI,mBAAQ,EAAsB,CAAC;4CAEtD,mBAAiB,CAAC;gDACpB,IAAM,cAAc,GAAG,IAAA,qCAAiB,GAAE,CAAC;gDAE3C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oDAC/B,OAAO,IAAI,CAAC;gDAChB,CAAC;gDAEO,IAAA,QAAQ,GAAU,cAAc,SAAxB,EAAE,GAAG,GAAK,cAAc,IAAnB,CAAoB;gDAEzC,4DAA4D;gDAC5D,IAAM,SAAS,GAAG,IAAI,CAAC;gDAEvB,oDAAoD;gDACpD,8CAA8C;gDAC9C,IAAM,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gDAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4CAC7C,CAAC,CAAC,EAAE,CAAC;4CAEC,YAAU,IAAA,0BAAU,EAAC;;;;;;4DAEnB,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;gEAClC,wBAAkC;4DACtC,CAAC;4DAEgC,qBAAM,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CACpE,UAAM,QAAQ;;;;oFACM,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;gFAA/B,OAAO,GAAG,SAAqB;gFAErC,sBAAO,CACH,OAAO,CAAC,MAAM,GAAG,GAAG;wFACpB,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CACvD,EAAC;;;qEACL,EACD,cAAM,OAAA,KAAK,EAAL,CAAK,CACd,EAAA;;4DAVK,wBAAwB,GAAG,SAUhC;4DAED,IAAI,wBAAwB,EAAE,CAAC;gEAC3B,wBAAkC;4DACtC,CAAC;4DAED,kBAAgB,CAAC,MAAM,CACnB,IAAI,uBAAuB,CAAC;gEACxB,MAAM,EAAE,mBAAmB;gEAC3B,aAAa,EAAE;oEACX,MAAM,EAAE,+BAA+B;oEACvC,kBAAkB,EAAE,SAAS,CAAC,WAAW;iEAC5C;6DACJ,CAAC,CACL,CAAC;4DACF,sBAAO;;4DAGX,8EAA8E;4DAC9E,qEAAqE;4DACrE,sEAAsE;4DACtE,4FAA4F;4DAC5F,qDAAqD;4DACrD,kBAAgB,CAAC,MAAM,CACnB,IAAI,uBAAuB,CAAC;gEACxB,MAAM,EAAE,mBAAmB;gEAC3B,aAAa,EAAE;oEACX,MAAM,EAAE,2BAA2B;oEACnC,QAAQ,UAAA;oEACR,cAAc,kBAAA;iEACjB;6DACJ,CAAC,CACL,CAAC;;;;iDACL,EAAE,gBAAc,CAAC,CAAC;4CAEb,aAAW,UAAC,KAAmB;;gDACjC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oDACjC,OAAO;gDACX,CAAC;gDAED,IAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;gDAEvB,CAAC;oDACG,IAAI,MAAM,SAA8C,CAAC;oDAEzD,IAAI,CAAC;wDACD,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oDACvE,CAAC;oDAAC,WAAM,CAAC;wDACL,wDAAwD;wDACxD,OAAO;oDACX,CAAC;oDAED,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;wDACpD,OAAO;oDACX,CAAC;gDACL,CAAC;gDAED,IAAA,4BAAY,EAAC,SAAO,CAAC,CAAC;gDAEtB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAQ,CAAC,CAAC;gDAEhD,CAAC;oDACG,IAAM,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oDAEnE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wDACpB,kBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wDACpC,OAAO;oDACX,CAAC;gDACL,CAAC;gDAED,IAAI,eAAe,GAAG,mBAAmB,CAAC;gDAE1C,IAAM,sBAAsB,GAAa,EAAE,CAAC;;oDAE5C,KAAmB,IAAA,wCAAA,SAAA,mCAAmC,CAAA,wFAAA,yIAAE,CAAC;wDAApD,IAAM,MAAI,gDAAA;wDACX,IAAM,MAAM,GAAG,IAAA,0CAAyB,EAAC,EAAE,IAAI,QAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;wDAExD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;4DACrB,IAAI,MAAI,KAAK,KAAK,EAAE,CAAC;gEACjB,SAAS;4DACb,CAAC;4DACD,sBAAsB,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;4DAClC,SAAS;wDACb,CAAC;wDAED,eAAe,GAAG,IAAA,mCAAkB,EAAC;4DACjC,KAAK,EAAE,eAAe;4DACtB,MAAM,EAAE,MAAI;4DACZ,OAAO,EAAE,MAAM,CAAC,KAAK;yDACxB,CAAC,CAAC,MAAM,CAAC;oDACd,CAAC;;;;;;;;;gDAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oDACtC,kBAAgB,CAAC,MAAM,CACnB,IAAI,KAAK,CACL;wDACI,8FAA8F;wDAC9F,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;qDACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CACJ,CAAC;oDACF,OAAO;gDACX,CAAC;gDAED,kBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;4CAC9C,CAAC,CAAC;4CAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAQ,EAAE,KAAK,CAAC,CAAC;4CAEpD,uBAAuB;iDAClB,YAAY,CAAC,EAAE,+BAA+B,EAAE,gBAAc,GAAG,IAAI,EAAE,CAAC;iDACxE,KAAK,CAAC,UAAC,KAAY;gDAChB,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;oDACtC,IAAA,4BAAY,EAAC,SAAO,CAAC,CAAC;oDAEtB,8EAA8E;oDAC9E,8EAA8E;oDAC9E,kBAAgB,CAAC,MAAM,CACnB,IAAI,uBAAuB,CAAC;wDACxB,MAAM,EAAE,aAAa;wDACrB,SAAS,WAAA;qDACZ,CAAC,CACL,CAAC;gDACN,CAAC;4CACL,CAAC,CAAC,CAAC;4CAEiB,qBAAM,kBAAgB,CAAC,EAAE,EAAA;;4CAA3C,eAAe,GAAG,SAAyB;4CAEjD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gDAChC,yBAAoC;4CACxC,CAAC;4CAEG,gBAAgB,GAAiC,SAAS,CAAC;;;;4CAGxC,qBAAM,uBAAuB,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAA;;4CAAxF,gBAAgB,GAAG,SAAqE,CAAC;;;;4CAEzF,IAAA,eAAM,EAAC,OAAK,YAAY,KAAK,CAAC,CAAC;4CAE/B,IAAI,OAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gDACtC,8EAA8E;gDAC9E,kFAAkF;gDAClF,8DAA8D;gDAC9D,MAAM,IAAI,uBAAuB,CAAC;oDAC9B,MAAM,EAAE,mBAAmB;oDAC3B,aAAa,EAAE;wDACX,MAAM,EAAE,oBAAoB;wDAC5B,QAAQ,UAAA;qDACX;iDACJ,CAAC,CAAC;4CACP,CAAC;4CAED,MAAM,OAAK,CAAC;iDAGhB,sBAAO;gDACH,eAAe,EAAE,cAAuB;gDACxC,gBAAgB,kBAAA;6CACnB,EAAC;iDAGN,sBAAO,SAAS,EAAC;;;;yBACpB,CAAC,EAAE,CAAC,IAAI,CACL,UAAA,MAAM;4BACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gCACvB,OAAO,SAAS,CAAC;4BACrB,CAAC;4BAEO,IAAA,gBAAgB,GAAoB,MAAM,iBAA1B,EAAE,aAAa,GAAK,MAAM,cAAX,CAAY;4BAEnD,IAAM,MAAM,GAAG,wBAAwB,CAAC;gCACpC,gBAAgB,kBAAA;gCAChB,oBAAoB,sBAAA;6BACvB,CAAC,CAAC;4BAEH,IAAI,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,yBAAyB,EAAE,CAAC;gCACvE,OAAO,CAAC,IAAI,CACR;oCACI,kEAAkE;oCAClE,uDAAuD;oCACvD,mDAA4C,QAAQ,cAAI,SAAS,CAAE;iCACtE,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;4BACN,CAAC;4BAED,OAAO,EAAE,MAAM,QAAA,EAAE,aAAa,eAAA,EAAE,CAAC;wBACrC,CAAC,EACD,UAAA,KAAK;4BACD,IAAA,eAAM,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC;4BAC/B,OAAO,KAAK,CAAC;wBACjB,CAAC,CACJ,EAAA;;oBAtWK,oBAAoB,GAAG,SAsW5B;oBAEK,MAAM,GAAgB;wBACxB,QAAQ,EAAE;4BACN,SAAS,WAAA;4BACT,QAAQ,UAAA;yBACX;qBACJ,CAAC;oBAEF,IAAI,oBAAoB,YAAY,KAAK,EAAE,CAAC;wBAClC,KAAK,GAAG,oBAAoB,CAAC;wBAE7B,mBAAmB,GACrB,KAAK,YAAY,uBAAuB;4BACpC,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,uBAAuB,CAAC;gCACxB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,KAAK;6BACjB,CAAC,CAAC;wBAEb,OAAO,CAAC,KAAK,CACT,8CAAsC,mBAAmB,CAAC,IAAI,iBAAM,mBAAmB,CAAC,OAAO,CAAE,CACpG,CAAC;wBAEF,4BAA4B,EAAE,CAAC;wBAE/B,sBAAO,IAAA,OAAE,wBACF,MAAM,KACT,gBAAgB,EAAE,KAAK,EACvB,OAAO,EAAE;;wCACL,KAAK,CAAC,kEAAkE,CAAC,CAAC;wCAC1E,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;qCACvC,EACD,mBAAmB,qBAAA,IACrB,EAAC;oBACP,CAAC;oBAED,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBACrC,4BAA4B,EAAE,CAAC;wBAE/B,sBAAO,IAAA,OAAE,wBACF,MAAM,KACT,gBAAgB,EAAE,KAAK,EACvB,KAAK,OAAA,EACL,qBAAqB,EAAE,SAAS,IAClC,EAAC;oBACP,CAAC;oBAEG,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC;oBAE1C,gCAAgC,GAAG,IAAI,GAAG,EAE7C,CAAC;oBAEE,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;oBAEvC,IAAI,GAAG,IAAA,OAAE,wBACR,MAAM,KACT,gBAAgB,EAAE,IAAI,EACtB,WAAW,EAAE,cAAM,OAAA,aAAa,EAAb,CAAa,EAChC,QAAQ,EAAE,UAAM,MAAM;;;4CAClB,qBAAM,uBAAuB,CAAC,eAAe,CAAC;4CAC1C,0BAA0B,EAAE,CAAC;gDACzB,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;oDACxB,KAAK,cAAc;wDACf,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oDAChC,KAAK,MAAM;wDACP,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4DAC1B,MAAM,IAAI,KAAK,CACX;gEACI,4EAA4E;gEAC5E,gFAAgF;gEAChF,2EAA2E;gEAC3E,uEAAuE;gEACvE,uFAAuF;6DAC1F,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;wDACN,CAAC;wDACD,OAAO,SAAS,CAAC;oDACrB,KAAK,cAAc;wDACf,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;4DAC7B,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAG,MAAM,CAAC,GAAG,CAAE;4DAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gDACzB,CAAC;gDACD,IAAA,eAAM,EAA+B,KAAK,CAAC,CAAC;4CAChD,CAAC,CAAC,EAAE;yCACP,CAAC,EAAA;;wCAzBF,SAyBE,CAAC;wCACH,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;;6BACvC,EACD,aAAa,EAAE;;;;4CACc,qBAAM,uBAAuB,CAAC,YAAY,EAAE,EAAA;;wCAA/D,gBAAgB,GAAG,SAA4C;wCAErE,IAAA,eAAM,EAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC;wCAE5B,gCAAgC,GAAG,MAAM,CAAC,wBAAwB,CACpE,aAAa,EACb,gBAAgB,CACnB,CAAC;wCAEF,IAAA,eAAM,EAAC,gCAAgC,KAAK,SAAS,CAAC,CAAC;wCAEvD,aAAa,GAAG,wBAAwB,CAAC;4CACrC,gBAAgB,kBAAA;4CAChB,oBAAoB,sBAAA;yCACvB,CAAC,CAAC;wCAEH,mEAAmE;wCACnE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;wCAEzF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,EAAE,EAAf,CAAe,CAAC,CAAC;;;;6BACxE,EACD,yBAAyB,EAAE,UAAA,aAAa;4BACpC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAElC,OAAO;gCACH,aAAa,EAAE;oCACX,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gCACzC,CAAC;6BACJ,CAAC;wBACN,CAAC,EACD,gCAAgC,EAAE,UAAA,YAAY;4BAC1C,gCAAgC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAEnD,IAAM,kCAAkC,GAAG;gCACvC,gCAAgC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4BAC1D,CAAC,CAAC;4BAEF,OAAO,EAAE,kCAAkC,oCAAA,EAAE,CAAC;wBAClD,CAAC,EACD,eAAe,EAAE,oBAAoB,CAAC,aAAa,IACrD,CAAC;oBAEH,CAAC;wBACS,0BAAwB;4BAC1B,kEAAkE;4BAClE,gEAAgE;4BAChE,mBAAmB;4BACnB,IAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAChC,aAAa,CAAC,yBAAyB,EACvC,aAAa,CAAC,0BAA0B,CAC3C,CAAC;4BAEF,OAAO,IAAI,CAAC,GAAG,CACX,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE;4BAChC,+DAA+D;4BAC/D,0CAA0C;4BAC1C,mFAAmF;4BACnF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CACtB,CAAC;wBACN,CAAC,CAAC;wBAEF,CAAC,SAAS,aAAa;4BAAtB,iBA6BA;4BA5BG,2DAA2D;4BAC3D,iFAAiF;4BACjF,uCAAuC;4BACvC,IAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAM,EAAE,uBAAqB,EAAE,GAAG,GAAG,CAAC,CAAC;4BAE7E,IAAM,KAAK,GAAG,IAAA,0BAAU,EAAC;;;;;4CACrB,sBAAsB,EAAE,CAAC;;;;4CAGrB,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;4CAAxB,SAAwB,CAAC;;;;4CAEzB,gEAAgE;4CAChE,+BAA+B;4CAC/B,oEAAoE;4CACpE,kEAAkE;4CAClE,qEAAqE;4CACrE,mCAAmC;4CACnC,qBAAM,KAAK,CAAC,EAAE,6BAA6B,EAAE,KAAK,EAAE,CAAC,EAAA;;4CANrD,gEAAgE;4CAChE,+BAA+B;4CAC/B,oEAAoE;4CACpE,kEAAkE;4CAClE,qEAAqE;4CACrE,mCAAmC;4CACnC,SAAqD,CAAC;;;4CAG1D,aAAa,EAAE,CAAC;;;;iCACnB,EAAE,uBAAqB,EAAE,GAAG,oBAAoB,CAAC,CAAC;4BAE3C,IAAa,sBAAsB,GAAK,IAAI,CAAC,uBAAuB,CAAC;gCACzE,IAAA,4BAAY,EAAC,KAAK,CAAC,CAAC;gCACpB,sBAAsB,EAAE,CAAC;gCACzB,aAAa,EAAE,CAAC;4BACpB,CAAC,CAAC,YAJyC,CAIxC;wBACP,CAAC,CAAC,EAAE,CAAC;oBACT,CAAC;oBAED,CAAC;wBACW,mBAAmB,IAAA,qCAAoB,EAAC;4BAC5C,qBAAqB,EAAE;gCACnB,OAAA,8BAA8B,KAAK,SAAS;oCACxC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,8BAA8B,GAAG,IAAI;oCACpD,CAAC,CAAC,aAAa,CAAC,0BAA0B;4BAF9C,CAE8C;4BAClD,cAAc,EAAE,UAAC,EAAe;oCAAb,WAAW,iBAAA;gCAC1B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,UAAA,YAAY;oCAC7D,OAAA,YAAY,CAAC,EAAE,WAAW,aAAA,EAAE,CAAC;gCAA7B,CAA6B,CAChC,CAAC;gCAEF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oCACpB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gCAClC,CAAC;4BACL,CAAC;yBACJ,CAAC,eAdoB,CAcnB;wBAEC,kBAA0C,SAAS,CAAC;wBAExD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;4BAC9B,aAAa,GAAG,IAAA,uCAAkB,EAAC;gCAC/B,gDAAgD,EAAE,IAAK;6BAC1D,CAAC,CAAC,aAAa,CAAC;wBACrB,CAAC;wBAEO,iCAA8C,aAAa,CAAC,SAAS,CAAC,UAAA,YAAY;4BACtF,IAAI,YAAY,EAAE,CAAC;gCACf,IAAI,eAAa,KAAK,SAAS,EAAE,CAAC;oCAC9B,eAAa,EAAE,CAAC;oCAChB,eAAa,GAAG,SAAS,CAAC;gCAC9B,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,IAAA,eAAM,EAAC,eAAa,KAAK,SAAS,CAAC,CAAC;gCACpC,eAAa,GAAG,gBAAc,EAAE,CAAC,aAAa,CAAC;4BACnD,CAAC;wBACL,CAAC,CAAC,YAV+C,CAU9C;wBAEH,CAAC;4BACS,8BAA8B,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;4BACzE,IAAA,eAAM,EAAC,8BAA8B,KAAK,SAAS,CAAC,CAAC;4BACrD,8BAA8B,CAAC,GAAG,CAAC;gCAC/B,8BAA4B,EAAE,CAAC;gCAC/B,eAAa,aAAb,eAAa,uBAAb,eAAa,EAAI,CAAC;4BACtB,CAAC,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBAED,sBAAO,IAAI,EAAC;;;;CACf;AAzzBD,gCAyzBC;AAED,SAAS,wBAAwB,CAAiD,MAGjF;IACW,IAAA,gBAAgB,GAA2B,MAAM,iBAAjC,EAAE,oBAAoB,GAAK,MAAM,qBAAX,CAAY;IAE1D,IAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAElD,IAAM,yBAAyB,GAAG,CAAC;QAC/B,kBAAkB,EAAE,CAAC;YACT,IAAA,UAAU,GAAK,gBAAgB,WAArB,CAAsB;YAExC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,kBAAkB,CAAC;YAC7B,CAAC;YAED,OAAO,UAAU,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,aAAa,EAAE,CAAC;YACZ,IAAM,cAAc,GAAG,IAAA,iDAAuB,EAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,aAAa,CAAC;YACxB,CAAC;YAED,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,IAAA,eAAM,EAAC,KAAK,EAAE,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEpD,IAAA,eAAM,EAAC,YAAY,KAAK,SAAS,EAAE,8CAA8C,CAAC,CAAC;IAEnF,IAAM,0BAA0B,GAAG,CAAC;QAChC,aAAa,EAAE,CAAC;YACZ,IAAM,cAAc,GAAG,IAAA,iDAAuB,EAAC,YAAY,CAAC,CAAC;YAE7D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,aAAa,CAAC;YACxB,CAAC;YAED,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,IAAA,eAAM,EAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;IACjE,CAAC,CAAC,EAAE,CAAC;IAEL,IAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAE1C,IAAA,eAAM,EAAC,OAAO,KAAK,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAEzE,IAAM,MAAM,GAAgC;QACxC,WAAW,aAAA;QACX,yBAAyB,2BAAA;QACzB,YAAY,cAAA;QACZ,0BAA0B,4BAAA;QAC1B,OAAO,SAAA;QACP,gBAAgB,EAAE,IAAW;KAChC,CAAC;IAEF,IAAI,KAAK,GAKS,SAAS,CAAC;IAE5B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE;QAC5C,KAAK,EAAE;YACH,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxD,OAAO,KAAK,CAAC,cAAc,CAAC;YAChC,CAAC;YAED,IAAI,cAAc,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,OAAO,CAAmB,CAAC;YAE/D,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBACrC,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;YAED,KAAK,GAAG;gBACJ,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,cAAc,gBAAA;aACjB,CAAC;YAEF,OAAO,cAAc,CAAC;QAC1B,CAAC;QACD,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["src/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/react/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type ParamsOfCreateOidc, type 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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
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
|
-
}) =>
|
|
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
|
-
}
|
|
47
|
+
}): OidcReact<DecodedIdToken>;
|
|
58
48
|
(params: {
|
|
59
49
|
assertUserLoggedIn: true;
|
|
60
|
-
}): OidcReact
|
|
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.
|
|
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
|
|
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
|
|
43
|
-
var _a = __read((0, react_1.useState)(undefined), 2),
|
|
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(
|
|
50
|
+
prOidc.then(setOidcOrInitializationError);
|
|
46
51
|
}, []);
|
|
47
|
-
if (
|
|
52
|
+
if (oidcOrInitializationError === undefined) {
|
|
48
53
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: fallback === undefined ? null : fallback });
|
|
49
54
|
}
|
|
50
|
-
|
|
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 {
|
|
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.
|
|
119
|
-
/** @see: https://
|
|
133
|
+
exports.createOidcReactApi_dependencyInjection = createOidcReactApi_dependencyInjection;
|
|
134
|
+
/** @see: https://docs.oidc-spa.dev/documentation/usage#react-api */
|
|
120
135
|
function createReactOidc(params) {
|
|
121
|
-
return
|
|
136
|
+
return createOidcReactApi_dependencyInjection(params, oidc_1.createOidc);
|
|
122
137
|
}
|
|
123
138
|
exports.createReactOidc = createReactOidc;
|
|
124
139
|
//# sourceMappingURL=react.js.map
|
package/react/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmG;AACnG,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react/react.tsx"],"names":[],"mappings":"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"}
|
package/src/index.ts
CHANGED
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<
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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":
|
|
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>>({
|
package/src/mock/react.tsx
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
7
|
-
|
|
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
|
@@ -92,6 +92,7 @@ export class OidcInitializationError extends Error {
|
|
|
92
92
|
type: "misconfigured OIDC client";
|
|
93
93
|
clientId: string;
|
|
94
94
|
timeoutDelayMs: number;
|
|
95
|
+
publicUrl: string | undefined;
|
|
95
96
|
}
|
|
96
97
|
| {
|
|
97
98
|
type: "not in Web Origins";
|
|
@@ -100,6 +101,13 @@ export class OidcInitializationError extends Error {
|
|
|
100
101
|
| {
|
|
101
102
|
type: "silent-sso.html not reachable";
|
|
102
103
|
silentSsoHtmlUrl: string;
|
|
104
|
+
}
|
|
105
|
+
| {
|
|
106
|
+
type: "frame-ancestors none";
|
|
107
|
+
silentSso: {
|
|
108
|
+
hasDedicatedHtmlFile: boolean;
|
|
109
|
+
redirectUri: string;
|
|
110
|
+
};
|
|
103
111
|
};
|
|
104
112
|
}
|
|
105
113
|
| {
|
|
@@ -122,7 +130,9 @@ export class OidcInitializationError extends Error {
|
|
|
122
130
|
case "misconfigured OIDC client":
|
|
123
131
|
return [
|
|
124
132
|
`The OIDC client ${params.likelyCause.clientId} seems to be misconfigured on your OIDC server.`,
|
|
125
|
-
`If you are using Keycloak you likely need to add "${
|
|
133
|
+
`If you are using Keycloak you likely need to add "${
|
|
134
|
+
params.likelyCause.publicUrl ?? window.location.origin
|
|
135
|
+
}/*" to the list of Valid Redirect URIs`,
|
|
126
136
|
`in the ${params.likelyCause.clientId} client configuration.\n`,
|
|
127
137
|
`More info: https://docs.oidc-spa.dev/resources/usage-with-keycloak`,
|
|
128
138
|
`Silent SSO timed out after ${params.likelyCause.timeoutDelayMs}ms.`
|
|
@@ -139,6 +149,24 @@ export class OidcInitializationError extends Error {
|
|
|
139
149
|
`${params.likelyCause.silentSsoHtmlUrl} is not reachable. Make sure you've created the silent-sso.html file`,
|
|
140
150
|
`in your public directory. More info: https://docs.oidc-spa.dev/documentation/installation`
|
|
141
151
|
].join(" ");
|
|
152
|
+
case "frame-ancestors none":
|
|
153
|
+
return [
|
|
154
|
+
params.likelyCause.silentSso.hasDedicatedHtmlFile
|
|
155
|
+
? `The silent-sso.html file, `
|
|
156
|
+
: `The URI used for Silent SSO, `,
|
|
157
|
+
`${params.likelyCause.silentSso.redirectUri}, `,
|
|
158
|
+
"is served by your web server with the HTTP header `Content-Security-Policy: frame-ancestors none` in the response.\n",
|
|
159
|
+
"This header prevents the silent sign-in process from working.\n",
|
|
160
|
+
"To fix this issue, you should configure your web server to not send this header or to use `frame-ancestors self` instead of `frame-ancestors none`.\n",
|
|
161
|
+
"If you use Nginx, you can replace:\n",
|
|
162
|
+
`add_header Content-Security-Policy "frame-ancestors 'none'";\n`,
|
|
163
|
+
"with:\n",
|
|
164
|
+
`map $uri $add_content_security_policy {\n`,
|
|
165
|
+
` "~*silent-sso\.html$" "frame-ancestors 'self'";\n`,
|
|
166
|
+
` default "frame-ancestors 'none'";\n`,
|
|
167
|
+
`}\n`,
|
|
168
|
+
`add_header Content-Security-Policy $add_content_security_policy;\n`
|
|
169
|
+
].join(" ");
|
|
142
170
|
}
|
|
143
171
|
case "unknown":
|
|
144
172
|
return params.cause.message;
|
|
@@ -156,11 +184,15 @@ export class OidcInitializationError extends Error {
|
|
|
156
184
|
const paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state", "iss"] as const;
|
|
157
185
|
|
|
158
186
|
export type ParamsOfCreateOidc<
|
|
159
|
-
DecodedIdToken extends Record<string, unknown> = Record<string, unknown
|
|
187
|
+
DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
|
|
188
|
+
IsAuthRequiredOnEveryPages extends boolean = false
|
|
160
189
|
> = {
|
|
161
190
|
issuerUri: string;
|
|
162
191
|
clientId: string;
|
|
163
192
|
clientSecret?: string;
|
|
193
|
+
/**
|
|
194
|
+
* Transform the url before redirecting to the login pages.
|
|
195
|
+
*/
|
|
164
196
|
transformUrlBeforeRedirect?: (url: string) => string;
|
|
165
197
|
/**
|
|
166
198
|
* Extra query params to be added on the login url.
|
|
@@ -168,8 +200,19 @@ export type ParamsOfCreateOidc<
|
|
|
168
200
|
* when login() is called.
|
|
169
201
|
*
|
|
170
202
|
* Example: extraQueryParams: ()=> ({ ui_locales: "fr" })
|
|
203
|
+
*
|
|
204
|
+
* This parameter can also be passed to login() directly.
|
|
171
205
|
*/
|
|
172
206
|
extraQueryParams?: Record<string, string> | (() => Record<string, string>);
|
|
207
|
+
/**
|
|
208
|
+
* Where to redirect after successful login.
|
|
209
|
+
* Default: window.location.href (here)
|
|
210
|
+
*
|
|
211
|
+
* It does not need to include the origin, eg: "/dashboard"
|
|
212
|
+
*
|
|
213
|
+
* This parameter can also be passed to login() directly as `redirectUrl`.
|
|
214
|
+
*/
|
|
215
|
+
postLoginRedirectUrl?: string;
|
|
173
216
|
/**
|
|
174
217
|
* This parameter is used to let oidc-spa knows where to find the silent-sso.html file
|
|
175
218
|
* and also to know what is the root path of your application so it can redirect to it after logout.
|
|
@@ -198,6 +241,7 @@ export type ParamsOfCreateOidc<
|
|
|
198
241
|
__unsafe_ssoSessionIdleSeconds?: number;
|
|
199
242
|
|
|
200
243
|
autoLogoutParams?: Parameters<Oidc.LoggedIn<any>["logout"]>[0];
|
|
244
|
+
isAuthRequiredOnEveryPages?: IsAuthRequiredOnEveryPages;
|
|
201
245
|
};
|
|
202
246
|
|
|
203
247
|
let $isUserActive: StatefulObservable<boolean> | undefined = undefined;
|
|
@@ -207,8 +251,13 @@ const URL_real = window.URL;
|
|
|
207
251
|
|
|
208
252
|
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
209
253
|
export async function createOidc<
|
|
210
|
-
DecodedIdToken extends Record<string, unknown> = Record<string, unknown
|
|
211
|
-
|
|
254
|
+
DecodedIdToken extends Record<string, unknown> = Record<string, unknown>,
|
|
255
|
+
IsAuthRequiredOnEveryPages extends boolean = false
|
|
256
|
+
>(
|
|
257
|
+
params: ParamsOfCreateOidc<DecodedIdToken, IsAuthRequiredOnEveryPages>
|
|
258
|
+
): Promise<
|
|
259
|
+
IsAuthRequiredOnEveryPages extends true ? Oidc.LoggedIn<DecodedIdToken> : Oidc<DecodedIdToken>
|
|
260
|
+
> {
|
|
212
261
|
const {
|
|
213
262
|
issuerUri,
|
|
214
263
|
clientId,
|
|
@@ -218,7 +267,9 @@ export async function createOidc<
|
|
|
218
267
|
publicUrl: publicUrl_params,
|
|
219
268
|
decodedIdTokenSchema,
|
|
220
269
|
__unsafe_ssoSessionIdleSeconds,
|
|
221
|
-
autoLogoutParams = { "redirectTo": "current page" }
|
|
270
|
+
autoLogoutParams = { "redirectTo": "current page" },
|
|
271
|
+
isAuthRequiredOnEveryPages = false,
|
|
272
|
+
postLoginRedirectUrl
|
|
222
273
|
} = params;
|
|
223
274
|
|
|
224
275
|
const getExtraQueryParams = (() => {
|
|
@@ -594,6 +645,8 @@ export async function createOidc<
|
|
|
594
645
|
})();
|
|
595
646
|
|
|
596
647
|
const timeout = setTimeout(async () => {
|
|
648
|
+
let dedicatedSilentSsoHtmlFileCsp: string | null | undefined = undefined;
|
|
649
|
+
|
|
597
650
|
silent_sso_html_unreachable: {
|
|
598
651
|
if (!silentSso.hasDedicatedHtmlFile) {
|
|
599
652
|
break silent_sso_html_unreachable;
|
|
@@ -601,6 +654,9 @@ export async function createOidc<
|
|
|
601
654
|
|
|
602
655
|
const isSilentSsoHtmlReachable = await fetch(silentSso.redirectUri).then(
|
|
603
656
|
async response => {
|
|
657
|
+
dedicatedSilentSsoHtmlFileCsp =
|
|
658
|
+
response.headers.get("Content-Security-Policy");
|
|
659
|
+
|
|
604
660
|
const content = await response.text();
|
|
605
661
|
|
|
606
662
|
return (
|
|
@@ -627,6 +683,54 @@ export async function createOidc<
|
|
|
627
683
|
return;
|
|
628
684
|
}
|
|
629
685
|
|
|
686
|
+
frame_ancestors_none: {
|
|
687
|
+
const csp = await (async () => {
|
|
688
|
+
if (silentSso.hasDedicatedHtmlFile) {
|
|
689
|
+
assert(dedicatedSilentSsoHtmlFileCsp !== undefined);
|
|
690
|
+
return dedicatedSilentSsoHtmlFileCsp;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
const csp = await fetch(silentSso.redirectUri).then(
|
|
694
|
+
response => response.headers.get("Content-Security-Policy"),
|
|
695
|
+
error => id<Error>(error)
|
|
696
|
+
);
|
|
697
|
+
|
|
698
|
+
if (csp instanceof Error) {
|
|
699
|
+
dLoginSuccessUrl.reject(
|
|
700
|
+
new Error(`Failed to fetch ${silentSso.redirectUri}: ${csp.message}`)
|
|
701
|
+
);
|
|
702
|
+
return new Promise<never>(() => {});
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
return csp;
|
|
706
|
+
})();
|
|
707
|
+
|
|
708
|
+
if (csp === null) {
|
|
709
|
+
break frame_ancestors_none;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
const hasFrameAncestorsNone = csp
|
|
713
|
+
.replace(/"'/g, "")
|
|
714
|
+
.replace(/\s+/g, " ")
|
|
715
|
+
.toLowerCase()
|
|
716
|
+
.includes("frame-ancestors none");
|
|
717
|
+
|
|
718
|
+
if (!hasFrameAncestorsNone) {
|
|
719
|
+
break frame_ancestors_none;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
dLoginSuccessUrl.reject(
|
|
723
|
+
new OidcInitializationError({
|
|
724
|
+
"type": "bad configuration",
|
|
725
|
+
"likelyCause": {
|
|
726
|
+
"type": "frame-ancestors none",
|
|
727
|
+
silentSso
|
|
728
|
+
}
|
|
729
|
+
})
|
|
730
|
+
);
|
|
731
|
+
return;
|
|
732
|
+
}
|
|
733
|
+
|
|
630
734
|
// Here we know that the server is not down and that the issuer_uri is correct
|
|
631
735
|
// otherwise we would have had a fetch error when loading the iframe.
|
|
632
736
|
// So this means that it's very likely a OIDC client misconfiguration.
|
|
@@ -638,7 +742,8 @@ export async function createOidc<
|
|
|
638
742
|
"likelyCause": {
|
|
639
743
|
"type": "misconfigured OIDC client",
|
|
640
744
|
clientId,
|
|
641
|
-
timeoutDelayMs
|
|
745
|
+
timeoutDelayMs,
|
|
746
|
+
publicUrl
|
|
642
747
|
}
|
|
643
748
|
})
|
|
644
749
|
);
|
|
@@ -820,13 +925,17 @@ export async function createOidc<
|
|
|
820
925
|
"cause": error
|
|
821
926
|
});
|
|
822
927
|
|
|
928
|
+
if (isAuthRequiredOnEveryPages) {
|
|
929
|
+
throw initializationError;
|
|
930
|
+
}
|
|
931
|
+
|
|
823
932
|
console.error(
|
|
824
933
|
`OIDC initialization error of type "${initializationError.type}": ${initializationError.message}`
|
|
825
934
|
);
|
|
826
935
|
|
|
827
936
|
startTrackingLastPublicRoute();
|
|
828
937
|
|
|
829
|
-
|
|
938
|
+
const oidc = id<Oidc.NotLoggedIn>({
|
|
830
939
|
...common,
|
|
831
940
|
"isUserLoggedIn": false,
|
|
832
941
|
"login": async () => {
|
|
@@ -835,17 +944,30 @@ export async function createOidc<
|
|
|
835
944
|
},
|
|
836
945
|
initializationError
|
|
837
946
|
});
|
|
947
|
+
|
|
948
|
+
// @ts-expect-error: We know what we are doing.
|
|
949
|
+
return oidc;
|
|
838
950
|
}
|
|
839
951
|
|
|
840
952
|
if (resultOfLoginProcess === undefined) {
|
|
953
|
+
if (isAuthRequiredOnEveryPages) {
|
|
954
|
+
await login({
|
|
955
|
+
"doesCurrentHrefRequiresAuth": true,
|
|
956
|
+
"redirectUrl": postLoginRedirectUrl
|
|
957
|
+
});
|
|
958
|
+
}
|
|
959
|
+
|
|
841
960
|
startTrackingLastPublicRoute();
|
|
842
961
|
|
|
843
|
-
|
|
962
|
+
const oidc = id<Oidc.NotLoggedIn>({
|
|
844
963
|
...common,
|
|
845
964
|
"isUserLoggedIn": false,
|
|
846
965
|
login,
|
|
847
966
|
"initializationError": undefined
|
|
848
967
|
});
|
|
968
|
+
|
|
969
|
+
// @ts-expect-error: We know what we are doing.
|
|
970
|
+
return oidc;
|
|
849
971
|
}
|
|
850
972
|
|
|
851
973
|
let currentTokens = resultOfLoginProcess.tokens;
|
package/src/react/react.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useState, createContext, useContext, useReducer, type ReactNode } from "react";
|
|
2
|
-
import { createOidc, type ParamsOfCreateOidc, type 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
|
-
|
|
47
|
+
type OidcReactApi<
|
|
48
48
|
DecodedIdToken extends Record<string, unknown>,
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
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: {
|
|
62
|
-
|
|
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 [
|
|
109
|
+
const [oidcOrInitializationError, setOidcOrInitializationError] = useState<
|
|
110
|
+
Oidc | OidcInitializationError | undefined
|
|
111
|
+
>(undefined);
|
|
65
112
|
|
|
66
113
|
useEffect(() => {
|
|
67
|
-
prOidc.then(
|
|
114
|
+
prOidc.then(setOidcOrInitializationError);
|
|
68
115
|
}, []);
|
|
69
116
|
|
|
70
|
-
if (
|
|
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:
|
|
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 {
|
|
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://
|
|
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
|
-
|
|
195
|
-
|
|
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
|
}
|