oidc-spa 4.0.0 → 4.2.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/oidc.d.ts +14 -0
- package/oidc.js +96 -28
- package/oidc.js.map +1 -1
- package/package.json +7 -2
- package/react.d.ts +3 -1
- package/react.js +1 -1
- package/react.js.map +1 -1
- package/src/oidc.ts +89 -8
- package/src/react.tsx +5 -2
- package/src/tools/getDownlinkAndRtt.ts +22 -0
- package/tools/getDownlinkAndRtt.d.ts +4 -0
- package/tools/getDownlinkAndRtt.js +44 -0
- package/tools/getDownlinkAndRtt.js.map +1 -0
package/oidc.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare namespace Oidc {
|
|
|
12
12
|
doesCurrentHrefRequiresAuth: boolean;
|
|
13
13
|
extraQueryParams?: Record<string, string>;
|
|
14
14
|
}) => Promise<never>;
|
|
15
|
+
initializationError: OidcInitializationError | undefined;
|
|
15
16
|
};
|
|
16
17
|
type LoggedIn<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = Common & {
|
|
17
18
|
isUserLoggedIn: true;
|
|
@@ -36,9 +37,22 @@ export declare namespace Oidc {
|
|
|
36
37
|
decodedIdToken: DecodedIdToken;
|
|
37
38
|
}>;
|
|
38
39
|
}
|
|
40
|
+
export declare class OidcInitializationError extends Error {
|
|
41
|
+
readonly type: "server down" | "bad configuration" | "unknown";
|
|
42
|
+
constructor(params: {
|
|
43
|
+
type: "server down";
|
|
44
|
+
} | {
|
|
45
|
+
type: "bad configuration";
|
|
46
|
+
timeoutDelayMs: number;
|
|
47
|
+
} | {
|
|
48
|
+
type: "unknown";
|
|
49
|
+
cause: Error;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
39
52
|
export type ParamsOfCreateOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> = {
|
|
40
53
|
issuerUri: string;
|
|
41
54
|
clientId: string;
|
|
55
|
+
clientSecret?: string;
|
|
42
56
|
transformUrlBeforeRedirect?: (url: string) => string;
|
|
43
57
|
/**
|
|
44
58
|
* Extra query params to be added on the login url.
|
package/oidc.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
var __assign = (this && this.__assign) || function () {
|
|
3
18
|
__assign = Object.assign || function(t) {
|
|
4
19
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -83,7 +98,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
83
98
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
84
99
|
};
|
|
85
100
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
86
|
-
exports.createOidc = void 0;
|
|
101
|
+
exports.createOidc = exports.OidcInitializationError = void 0;
|
|
87
102
|
var oidc_client_ts_1 = require("oidc-client-ts");
|
|
88
103
|
var id_1 = require("tsafe/id");
|
|
89
104
|
var readExpirationTimeInJwt_1 = require("./tools/readExpirationTimeInJwt");
|
|
@@ -92,16 +107,40 @@ var urlQueryParams_1 = require("./tools/urlQueryParams");
|
|
|
92
107
|
var fnv1aHashToHex_1 = require("./tools/fnv1aHashToHex");
|
|
93
108
|
var Deferred_1 = require("./tools/Deferred");
|
|
94
109
|
var decodeJwt_1 = require("./tools/decodeJwt");
|
|
110
|
+
var getDownlinkAndRtt_1 = require("./tools/getDownlinkAndRtt");
|
|
111
|
+
var OidcInitializationError = /** @class */ (function (_super) {
|
|
112
|
+
__extends(OidcInitializationError, _super);
|
|
113
|
+
function OidcInitializationError(params) {
|
|
114
|
+
var _newTarget = this.constructor;
|
|
115
|
+
var _this = _super.call(this, (function () {
|
|
116
|
+
switch (params.type) {
|
|
117
|
+
case "server down":
|
|
118
|
+
return "The OIDC server is down";
|
|
119
|
+
case "bad configuration":
|
|
120
|
+
return "Bad configuration. Timed out after ".concat(params.timeoutDelayMs, "ms");
|
|
121
|
+
case "unknown":
|
|
122
|
+
return params.cause.message;
|
|
123
|
+
}
|
|
124
|
+
})(),
|
|
125
|
+
// @ts-expect-error
|
|
126
|
+
{ "cause": params.type === "unknown" ? params.cause : undefined }) || this;
|
|
127
|
+
_this.type = params.type;
|
|
128
|
+
Object.setPrototypeOf(_this, _newTarget.prototype);
|
|
129
|
+
return _this;
|
|
130
|
+
}
|
|
131
|
+
return OidcInitializationError;
|
|
132
|
+
}(Error));
|
|
133
|
+
exports.OidcInitializationError = OidcInitializationError;
|
|
95
134
|
var paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state", "iss"];
|
|
96
135
|
/** @see: https://github.com/garronej/oidc-spa#option-1-usage-without-involving-the-ui-framework */
|
|
97
136
|
function createOidc(params) {
|
|
98
137
|
return __awaiter(this, void 0, void 0, function () {
|
|
99
|
-
var issuerUri, clientId, _a, transformUrlBeforeRedirect, extraQueryParamsOrGetter, publicUrl_params, decodedIdTokenSchema, getExtraQueryParams, publicUrl, configHash, configHashKey, oidcClientTsUserManager, lastPublicRoute, realPushState_1, hasLoginBeenCalled, login, initialTokens, common, error, currentTokens, onTokenChanges, oidc;
|
|
138
|
+
var issuerUri, clientId, clientSecret, _a, transformUrlBeforeRedirect, extraQueryParamsOrGetter, publicUrl_params, decodedIdTokenSchema, getExtraQueryParams, publicUrl, configHash, configHashKey, oidcClientTsUserManager, lastPublicRoute, realPushState_1, hasLoginBeenCalled, login, initialTokens, common, error, initializationError, currentTokens, onTokenChanges, oidc;
|
|
100
139
|
var _this = this;
|
|
101
140
|
return __generator(this, function (_b) {
|
|
102
141
|
switch (_b.label) {
|
|
103
142
|
case 0:
|
|
104
|
-
issuerUri = params.issuerUri, clientId = params.clientId, _a = params.transformUrlBeforeRedirect, transformUrlBeforeRedirect = _a === void 0 ? function (url) { return url; } : _a, extraQueryParamsOrGetter = params.extraQueryParams, publicUrl_params = params.publicUrl, decodedIdTokenSchema = params.decodedIdTokenSchema;
|
|
143
|
+
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;
|
|
105
144
|
getExtraQueryParams = (function () {
|
|
106
145
|
if (typeof extraQueryParamsOrGetter === "function") {
|
|
107
146
|
return extraQueryParamsOrGetter;
|
|
@@ -124,6 +163,7 @@ function createOidc(params) {
|
|
|
124
163
|
oidcClientTsUserManager = new oidc_client_ts_1.UserManager({
|
|
125
164
|
"authority": issuerUri,
|
|
126
165
|
"client_id": clientId,
|
|
166
|
+
"client_secret": clientSecret,
|
|
127
167
|
"redirect_uri": "" /* provided when calling login */,
|
|
128
168
|
"response_type": "code",
|
|
129
169
|
"scope": "openid profile",
|
|
@@ -218,10 +258,10 @@ function createOidc(params) {
|
|
|
218
258
|
};
|
|
219
259
|
return [4 /*yield*/, (function getUser() {
|
|
220
260
|
return __awaiter(this, void 0, void 0, function () {
|
|
221
|
-
var url, result, result, loginSuccessUrl, paramsToRetrieveFromSuccessfulLogin_1, paramsToRetrieveFromSuccessfulLogin_1_1, name_1, result, oidcClientTsUser, _a, oidcClientTsUser,
|
|
222
|
-
var e_1,
|
|
223
|
-
return __generator(this, function (
|
|
224
|
-
switch (
|
|
261
|
+
var url, result, result, loginSuccessUrl, paramsToRetrieveFromSuccessfulLogin_1, paramsToRetrieveFromSuccessfulLogin_1_1, name_1, result, oidcClientTsUser, _a, oidcClientTsUser, error_1, dLoginSuccessUrl_1, timeoutDelayMs_1, timeout_1, listener_1, loginSuccessUrl, oidcClientTsUser;
|
|
262
|
+
var e_1, _b;
|
|
263
|
+
return __generator(this, function (_c) {
|
|
264
|
+
switch (_c.label) {
|
|
225
265
|
case 0:
|
|
226
266
|
url = window.location.href;
|
|
227
267
|
{
|
|
@@ -259,47 +299,66 @@ function createOidc(params) {
|
|
|
259
299
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
260
300
|
finally {
|
|
261
301
|
try {
|
|
262
|
-
if (paramsToRetrieveFromSuccessfulLogin_1_1 && !paramsToRetrieveFromSuccessfulLogin_1_1.done && (
|
|
302
|
+
if (paramsToRetrieveFromSuccessfulLogin_1_1 && !paramsToRetrieveFromSuccessfulLogin_1_1.done && (_b = paramsToRetrieveFromSuccessfulLogin_1.return)) _b.call(paramsToRetrieveFromSuccessfulLogin_1);
|
|
263
303
|
}
|
|
264
304
|
finally { if (e_1) throw e_1.error; }
|
|
265
305
|
}
|
|
266
306
|
window.history.pushState(null, "", url);
|
|
267
307
|
oidcClientTsUser = undefined;
|
|
268
|
-
|
|
308
|
+
_c.label = 1;
|
|
269
309
|
case 1:
|
|
270
|
-
|
|
310
|
+
_c.trys.push([1, 3, , 4]);
|
|
271
311
|
return [4 /*yield*/, oidcClientTsUserManager.signinRedirectCallback(loginSuccessUrl)];
|
|
272
312
|
case 2:
|
|
273
|
-
oidcClientTsUser =
|
|
313
|
+
oidcClientTsUser = _c.sent();
|
|
274
314
|
return [3 /*break*/, 4];
|
|
275
315
|
case 3:
|
|
276
|
-
_a =
|
|
316
|
+
_a = _c.sent();
|
|
277
317
|
//NOTE: The user has likely pressed the back button just after logging in.
|
|
278
318
|
return [2 /*return*/, undefined];
|
|
279
319
|
case 4: return [2 /*return*/, oidcClientTsUser];
|
|
280
320
|
case 5: return [4 /*yield*/, oidcClientTsUserManager.getUser()];
|
|
281
321
|
case 6:
|
|
282
|
-
oidcClientTsUser =
|
|
322
|
+
oidcClientTsUser = _c.sent();
|
|
283
323
|
if (oidcClientTsUser === null) {
|
|
284
324
|
return [3 /*break*/, 11];
|
|
285
325
|
}
|
|
286
|
-
|
|
326
|
+
_c.label = 7;
|
|
287
327
|
case 7:
|
|
288
|
-
|
|
328
|
+
_c.trys.push([7, 9, , 10]);
|
|
289
329
|
return [4 /*yield*/, oidcClientTsUserManager.signinSilent()];
|
|
290
330
|
case 8:
|
|
291
|
-
|
|
331
|
+
_c.sent();
|
|
292
332
|
return [3 /*break*/, 10];
|
|
293
333
|
case 9:
|
|
294
|
-
|
|
334
|
+
error_1 = _c.sent();
|
|
335
|
+
(0, assert_1.assert)(error_1 instanceof Error);
|
|
336
|
+
if (error_1.message === "Failed to fetch") {
|
|
337
|
+
throw new OidcInitializationError({ "type": "server down" });
|
|
338
|
+
}
|
|
295
339
|
return [2 /*return*/, undefined];
|
|
296
340
|
case 10: return [2 /*return*/, oidcClientTsUser];
|
|
297
341
|
case 11:
|
|
298
342
|
dLoginSuccessUrl_1 = new Deferred_1.Deferred();
|
|
299
|
-
|
|
343
|
+
timeoutDelayMs_1 = (function () {
|
|
344
|
+
var downlinkAndRtt = (0, getDownlinkAndRtt_1.getDownlinkAndRtt)();
|
|
345
|
+
if (downlinkAndRtt === undefined) {
|
|
346
|
+
return 5000;
|
|
347
|
+
}
|
|
348
|
+
var downlink = downlinkAndRtt.downlink, rtt = downlinkAndRtt.rtt;
|
|
349
|
+
// Base delay is the minimum delay we're willing to tolerate
|
|
350
|
+
var baseDelay = 3000;
|
|
351
|
+
// Calculate dynamic delay based on RTT and downlink
|
|
352
|
+
// Add 1 to downlink to avoid division by zero
|
|
353
|
+
var dynamicDelay = rtt * 2.5 + 3000 / (downlink + 1);
|
|
354
|
+
return Math.max(baseDelay, dynamicDelay);
|
|
355
|
+
})();
|
|
300
356
|
timeout_1 = setTimeout(function () {
|
|
301
|
-
return dLoginSuccessUrl_1.reject(new
|
|
302
|
-
|
|
357
|
+
return dLoginSuccessUrl_1.reject(new OidcInitializationError({
|
|
358
|
+
"type": "bad configuration",
|
|
359
|
+
timeoutDelayMs: timeoutDelayMs_1
|
|
360
|
+
}));
|
|
361
|
+
}, timeoutDelayMs_1);
|
|
303
362
|
listener_1 = function (event) {
|
|
304
363
|
var e_2, _a;
|
|
305
364
|
if (typeof event.data !== "string") {
|
|
@@ -357,19 +416,22 @@ function createOidc(params) {
|
|
|
357
416
|
};
|
|
358
417
|
window.addEventListener("message", listener_1, false);
|
|
359
418
|
oidcClientTsUserManager
|
|
360
|
-
.signinSilent({ "silentRequestTimeoutInSeconds":
|
|
361
|
-
.catch(function () {
|
|
362
|
-
|
|
419
|
+
.signinSilent({ "silentRequestTimeoutInSeconds": timeoutDelayMs_1 / 1000 })
|
|
420
|
+
.catch(function (error) {
|
|
421
|
+
if (error.message === "Failed to fetch") {
|
|
422
|
+
clearTimeout(timeout_1);
|
|
423
|
+
dLoginSuccessUrl_1.reject(new OidcInitializationError({ "type": "server down" }));
|
|
424
|
+
}
|
|
363
425
|
});
|
|
364
426
|
return [4 /*yield*/, dLoginSuccessUrl_1.pr];
|
|
365
427
|
case 12:
|
|
366
|
-
loginSuccessUrl =
|
|
428
|
+
loginSuccessUrl = _c.sent();
|
|
367
429
|
if (loginSuccessUrl === undefined) {
|
|
368
430
|
return [3 /*break*/, 14];
|
|
369
431
|
}
|
|
370
432
|
return [4 /*yield*/, oidcClientTsUserManager.signinRedirectCallback(loginSuccessUrl)];
|
|
371
433
|
case 13:
|
|
372
|
-
oidcClientTsUser =
|
|
434
|
+
oidcClientTsUser = _c.sent();
|
|
373
435
|
return [2 /*return*/, oidcClientTsUser];
|
|
374
436
|
case 14: return [2 /*return*/, undefined];
|
|
375
437
|
}
|
|
@@ -405,16 +467,22 @@ function createOidc(params) {
|
|
|
405
467
|
};
|
|
406
468
|
if (initialTokens instanceof Error) {
|
|
407
469
|
error = initialTokens;
|
|
408
|
-
|
|
470
|
+
initializationError = error instanceof OidcInitializationError
|
|
471
|
+
? error
|
|
472
|
+
: new OidcInitializationError({
|
|
473
|
+
"type": "unknown",
|
|
474
|
+
"cause": error
|
|
475
|
+
});
|
|
476
|
+
console.error("OIDC initilization error: ".concat(initializationError.message));
|
|
409
477
|
return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": function () { return __awaiter(_this, void 0, void 0, function () {
|
|
410
478
|
return __generator(this, function (_a) {
|
|
411
479
|
alert("Authentication is currently unavailable. Please try again later.");
|
|
412
480
|
return [2 /*return*/, new Promise(function () { })];
|
|
413
481
|
});
|
|
414
|
-
}); } }))];
|
|
482
|
+
}); }, initializationError: initializationError }))];
|
|
415
483
|
}
|
|
416
484
|
if (initialTokens === undefined) {
|
|
417
|
-
return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login }))];
|
|
485
|
+
return [2 /*return*/, (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, login: login, "initializationError": undefined }))];
|
|
418
486
|
}
|
|
419
487
|
currentTokens = initialTokens;
|
|
420
488
|
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;AA8C9C,IAAM,mCAAmC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAU,CAAC;AAgC/F,mGAAmG;AACnG,SAAsB,UAAU,CAE9B,MAA0C;;;;;;;oBAEpC,SAAS,GAMT,MAAM,UANG,EACT,QAAQ,GAKR,MAAM,SALE,EACR,KAIA,MAAM,2BAJiC,EAAvC,0BAA0B,mBAAG,UAAA,GAAG,IAAI,OAAA,GAAG,EAAH,CAAG,KAAA,EACrB,wBAAwB,GAG1C,MAAM,iBAHoC,EAC/B,gBAAgB,GAE3B,MAAM,UAFqB,EAC3B,oBAAoB,GACpB,MAAM,qBADc,CACb;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,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAClC,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;oBACxD,aAAa,GAAG,YAAY,CAAC;oBAE7B,uBAAuB,GAAG,IAAI,4BAAuB,CAAC;wBACxD,WAAW,EAAE,SAAS;wBACtB,WAAW,EAAE,QAAQ;wBACrB,cAAc,EAAE,EAAE,CAAC,iCAAiC;wBACpD,eAAe,EAAE,MAAM;wBACvB,OAAO,EAAE,gBAAgB;wBACzB,sBAAsB,EAAE,KAAK;wBAC7B,qBAAqB,EAAE,UAAG,SAAS,8BAAoB,aAAa,cAAI,UAAU,CAAE;qBACvF,CAAC,CAAC;oBAEC,eAAe,GAAuB,SAAS,CAAC;oBAEpD,CAAC;wBACS,kBAAgB,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,eAAa,wCAAI,IAAI,WAAE;wBAClC,CAAC,CAAC;oBACN,CAAC;oBAEG,kBAAkB,GAAG,KAAK,CAAC;oBAEzB,KAAK,GAA8B,UAAO,EAG/C;4BAFG,2BAA2B,iCAAA,EAC3B,gBAAgB,sBAAA;;4BAehB,SAAS,GAAG;gCAAC,cAA+C;qCAA/C,UAA+C,EAA/C,qBAA+C,EAA/C,IAA+C;oCAA/C,yBAA+C;;gCACxD,IAAM,WAAW,QAAO,QAAQ,YAAR,QAAQ,iCAAI,IAAI,aAAC,CAAC;gCAE1C,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;oCAC1B,KAAK,EAAE,UAAC,MAAM,EAAE,IAAI;wCAChB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;4CAClB,IAAI,KAAG,GAAG,WAAW,CAAC,IAAI,CAAC;4CAE3B,MAAM,CAAC,OAAO,uBACP,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,GACvB,gBAAgB,EACrB,CAAC,OAAO,CACN,UAAC,EAAa;oDAAb,KAAA,aAAa,EAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;gDACT,OAAA,CAAC,KAAG,GAAG,IAAA,mCAAkB,EAAC;oDACtB,GAAG,OAAA;oDACH,IAAI,MAAA;oDACJ,KAAK,OAAA;iDACR,CAAC,CAAC,MAAM,CAAC;4CAJV,CAIU,CACjB,CAAC;4CAEF,KAAG,GAAG,0BAA0B,CAAC,KAAG,CAAC,CAAC;4CAEtC,OAAO,KAAG,CAAC;wCACf,CAAC;wCAED,kBAAkB;wCAClB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;oCACxB,CAAC;iCACJ,CAAC,CAAC;4BACP,CAAC;;;;;wCA1CD,0EAA0E;wCAC1E,0EAA0E;wCAC1E,0EAA0E;wCAC1E,oDAAoD;wCAEpD,IAAI,kBAAkB,EAAE,CAAC;4CACrB,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;wCACxC,CAAC;wCAED,kBAAkB,GAAG,IAAI,CAAC;wCAEpB,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;wCAiC5B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wCAEvC,YAAY,GAAK,IAAA,mCAAkB,EAAC;4CAChD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;4CAC3B,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE,UAAU;yCACtB,CAAC,OAJ0B,CAIzB;wCAEH,IAAI,2BAA2B,EAAE,CAAC;4CACxB,aAAW;gDACb,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oDACzC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,UAAQ,CAAC,CAAC;oDAE3D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;wDAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC;oDAC3C,CAAC;yDAAM,CAAC;wDACJ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oDAC1B,CAAC;gDACL,CAAC;4CACL,CAAC,CAAC;4CACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAQ,CAAC,CAAC;wCAC5D,CAAC;wCAED,qBAAM,uBAAuB,CAAC,cAAc,CAAC;gDACzC,YAAY,cAAA;gDACZ,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;6CACvE,CAAC,EAAA;;wCAHF,SAGE,CAAC;wCACH,sBAAO,IAAI,OAAO,CAAQ,cAAO,CAAC,CAAC,EAAC;;;;qBACvC,CAAC;oBAEoB,qBAAM,CAAC,SAAe,OAAO;;;;;;;4CAEvC,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;4CAED,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,CAAC,sBAAe,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;gDACnD,CAAC;4CACL,CAAC;4CAEG,eAAe,GAAG,mBAAmB,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,MAAM,IAAI,KAAK,CAAC,+BAAwB,MAAI,CAAE,CAAC,CAAC;oDACpD,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;4CAEpC,gBAAgB,GAAiC,SAAS,CAAC;;;;4CAGxC,qBAAM,uBAAuB,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAA;;4CAAxF,gBAAgB,GAAG,SAAqE,CAAC;;;;4CAEzF,0EAA0E;4CAC1E,sBAAO,SAAS,EAAC;gDAGrB,sBAAO,gBAAgB,EAAC;gDAIC,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,sBAAO,SAAS,EAAC;iDAGrB,sBAAO,gBAAgB,EAAC;;4CAIlB,qBAAmB,IAAI,mBAAQ,EAAsB,CAAC;4CAEtD,cAAc,GAAG,IAAI,CAAC;4CAEtB,YAAU,UAAU,CACtB;gDACI,OAAA,kBAAgB,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,kDAA2C,QAAQ,CAAE,CAAC,CACnE;4CAFD,CAEC,EACL,cAAc,CACjB,CAAC;4CAEI,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,YAAY,CAAC,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;;oDAE1C,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,MAAM,IAAI,KAAK,CAAC,+BAAwB,MAAI,CAAE,CAAC,CAAC;wDACpD,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,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,cAAc,GAAG,IAAI,EAAE,CAAC;iDACxE,KAAK,CAAC;gDACH,oBAAoB;4CACxB,CAAC,CAAC,CAAC;4CAEiB,qBAAM,kBAAgB,CAAC,EAAE,EAAA;;4CAA3C,eAAe,GAAG,SAAyB;4CAEjD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gDAChC,yBAAoC;4CACxC,CAAC;4CAEwB,qBAAM,uBAAuB,CAAC,sBAAsB,CACzE,eAAe,CAClB,EAAA;;4CAFK,gBAAgB,GAAG,SAExB;4CAED,sBAAO,gBAAgB,EAAC;iDAG5B,sBAAO,SAAS,EAAC;;;;yBACpB,CAAC,EAAE,CAAC,IAAI,CACL,UAAA,gBAAgB;4BACZ,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gCACjC,OAAO,SAAS,CAAC;4BACrB,CAAC;4BAED,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,MAAM,CAAC;wBAClB,CAAC,EACD,UAAA,KAAK;4BACD,IAAA,eAAM,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC;4BAC/B,OAAO,KAAK,CAAC;wBACjB,CAAC,CACJ,EAAA;;oBAjMK,aAAa,GAAG,SAiMrB;oBAEK,MAAM,GAAgB;wBACxB,QAAQ,EAAE;4BACN,SAAS,WAAA;4BACT,QAAQ,UAAA;yBACX;qBACJ,CAAC;oBAEF,IAAI,aAAa,YAAY,KAAK,EAAE,CAAC;wBAC3B,KAAK,GAAG,aAAa,CAAC;wBAE5B,OAAO,CAAC,KAAK,CAAC,oDAA6C,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;wBAE5E,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,IACH,EAAC;oBACP,CAAC;oBAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAC9B,sBAAO,IAAA,OAAE,wBACF,MAAM,KACT,gBAAgB,EAAE,KAAK,EACvB,KAAK,OAAA,IACP,EAAC;oBACP,CAAC;oBAEG,aAAa,GAAG,aAAa,CAAC;oBAE5B,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,OAAO,SAAS,CAAC;oDACrB,KAAK,cAAc;wDACf,OAAO,MAAM,CAAC,GAAG,CAAC;gDAC1B,CAAC;gDACD,IAAA,eAAM,EAA+B,KAAK,CAAC,CAAC;4CAChD,CAAC,CAAC,EAAE;yCACP,CAAC,EAAA;;wCAZF,SAYE,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,cAAc,CAAC,OAAO,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,EAAE,EAAf,CAAe,CAAC,CAAC;;;;6BAC5D,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,IACH,CAAC;oBAEH,CAAC,SAAS,sBAAsB;wBAA/B,iBAcA;wBAbG,IAAM,kBAAkB,GACpB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,yBAAyB,EAAE,aAAa,CAAC,0BAA0B,CAAC;4BAC3F,IAAI,CAAC,GAAG,EAAE,CAAC;wBAEf,UAAU,CAAC;;;;;;wCAEH,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wCAAxB,SAAwB,CAAC;;;;wCAEzB,qBAAM,KAAK,CAAC,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,EAAA;;wCAApD,SAAoD,CAAC;;;wCAGzD,sBAAsB,EAAE,CAAC;;;;6BAC5B,EAAE,kBAAkB,GAAG,6BAA6B,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBACrE,CAAC,CAAC,EAAE,CAAC;oBAEL,sBAAO,IAAI,EAAC;;;;CACf;AAtbD,gCAsbC;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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oidc-spa",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Openidconnect client for Single Page Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"./tools/decodeJwt": "./tools/decodeJwt.js",
|
|
17
17
|
"./tools/Deferred": "./tools/Deferred.js",
|
|
18
18
|
"./tools/fnv1aHashToHex": "./tools/fnv1aHashToHex.js",
|
|
19
|
+
"./tools/getDownlinkAndRtt": "./tools/getDownlinkAndRtt.js",
|
|
19
20
|
"./tools/powerhooks/useGuaranteedMemo": "./tools/powerhooks/useGuaranteedMemo.js",
|
|
20
21
|
"./tools/readExpirationTimeInJwt": "./tools/readExpirationTimeInJwt.js",
|
|
21
22
|
"./tools/urlQueryParams": "./tools/urlQueryParams.js"
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
"./src/tools/Deferred.ts",
|
|
40
41
|
"./src/tools/decodeJwt.ts",
|
|
41
42
|
"./src/tools/fnv1aHashToHex.ts",
|
|
43
|
+
"./src/tools/getDownlinkAndRtt.ts",
|
|
42
44
|
"./src/tools/powerhooks/useGuaranteedMemo.ts",
|
|
43
45
|
"./src/tools/readExpirationTimeInJwt.ts",
|
|
44
46
|
"./src/tools/urlQueryParams.ts",
|
|
@@ -60,6 +62,9 @@
|
|
|
60
62
|
"./tools/fnv1aHashToHex.d.ts",
|
|
61
63
|
"./tools/fnv1aHashToHex.js",
|
|
62
64
|
"./tools/fnv1aHashToHex.js.map",
|
|
65
|
+
"./tools/getDownlinkAndRtt.d.ts",
|
|
66
|
+
"./tools/getDownlinkAndRtt.js",
|
|
67
|
+
"./tools/getDownlinkAndRtt.js.map",
|
|
63
68
|
"./tools/powerhooks/useGuaranteedMemo.d.ts",
|
|
64
69
|
"./tools/powerhooks/useGuaranteedMemo.js",
|
|
65
70
|
"./tools/powerhooks/useGuaranteedMemo.js.map",
|
|
@@ -74,7 +79,7 @@
|
|
|
74
79
|
"homepage": "https://docs.oidc-spa.dev/",
|
|
75
80
|
"dependencies": {
|
|
76
81
|
"jwt-decode": "^3.1.2",
|
|
77
|
-
"oidc-client-ts": "
|
|
82
|
+
"oidc-client-ts": "3.0.0",
|
|
78
83
|
"tsafe": "^1.6.5"
|
|
79
84
|
},
|
|
80
85
|
"devDependencies": {
|
package/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type ParamsOfCreateOidc, type Oidc } from "./oidc";
|
|
2
|
+
import { type ParamsOfCreateOidc, type Oidc, type OidcInitializationError } from "./oidc";
|
|
3
3
|
export type OidcReact<DecodedIdToken extends Record<string, unknown>> = OidcReact.NotLoggedIn | OidcReact.LoggedIn<DecodedIdToken>;
|
|
4
4
|
export declare namespace OidcReact {
|
|
5
5
|
type Common = Oidc.Common;
|
|
@@ -8,6 +8,7 @@ export declare namespace OidcReact {
|
|
|
8
8
|
login: Oidc.NotLoggedIn["login"];
|
|
9
9
|
oidcTokens?: never;
|
|
10
10
|
logout?: never;
|
|
11
|
+
initializationError: OidcInitializationError | undefined;
|
|
11
12
|
};
|
|
12
13
|
type LoggedIn<DecodedIdToken extends Record<string, unknown>> = Common & {
|
|
13
14
|
isUserLoggedIn: true;
|
|
@@ -15,6 +16,7 @@ export declare namespace OidcReact {
|
|
|
15
16
|
logout: Oidc.LoggedIn["logout"];
|
|
16
17
|
renewTokens: Oidc.LoggedIn["renewTokens"];
|
|
17
18
|
login?: never;
|
|
19
|
+
initializationError?: never;
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
/** @see: https://github.com/garronej/oidc-spa#option-2-usage-directly-within-react */
|
package/react.js
CHANGED
|
@@ -112,7 +112,7 @@ function createReactOidc(params) {
|
|
|
112
112
|
};
|
|
113
113
|
return oidc.isUserLoggedIn
|
|
114
114
|
? (0, id_1.id)(((0, assert_1.assert)(oidcTokens !== undefined), __assign(__assign({}, common), { "isUserLoggedIn": true, oidcTokens: oidcTokens, "logout": oidc.logout, "renewTokens": oidc.renewTokens })))
|
|
115
|
-
: (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": oidc.login }));
|
|
115
|
+
: (0, id_1.id)(__assign(__assign({}, common), { "isUserLoggedIn": false, "login": oidc.login, "initializationError": oidc.initializationError }));
|
|
116
116
|
}
|
|
117
117
|
return { OidcProvider: OidcProvider, useOidc: useOidc, prOidc: prOidc };
|
|
118
118
|
}
|
package/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAmG;AACnG,+
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["src/react.tsx"],"names":[],"mappings":"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"}
|
package/src/oidc.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { addQueryParamToUrl, retrieveQueryParamFromUrl } from "./tools/urlQueryP
|
|
|
6
6
|
import { fnv1aHashToHex } from "./tools/fnv1aHashToHex";
|
|
7
7
|
import { Deferred } from "./tools/Deferred";
|
|
8
8
|
import { decodeJwt } from "./tools/decodeJwt";
|
|
9
|
+
import { getDownlinkAndRtt } from "./tools/getDownlinkAndRtt";
|
|
9
10
|
|
|
10
11
|
export declare type Oidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> =
|
|
11
12
|
| Oidc.LoggedIn<DecodedIdToken>
|
|
@@ -25,6 +26,7 @@ export declare namespace Oidc {
|
|
|
25
26
|
doesCurrentHrefRequiresAuth: boolean;
|
|
26
27
|
extraQueryParams?: Record<string, string>;
|
|
27
28
|
}) => Promise<never>;
|
|
29
|
+
initializationError: OidcInitializationError | undefined;
|
|
28
30
|
};
|
|
29
31
|
|
|
30
32
|
export type LoggedIn<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>> =
|
|
@@ -51,6 +53,42 @@ export declare namespace Oidc {
|
|
|
51
53
|
}>;
|
|
52
54
|
}
|
|
53
55
|
|
|
56
|
+
export class OidcInitializationError extends Error {
|
|
57
|
+
public readonly type: "server down" | "bad configuration" | "unknown";
|
|
58
|
+
|
|
59
|
+
constructor(
|
|
60
|
+
params:
|
|
61
|
+
| {
|
|
62
|
+
type: "server down";
|
|
63
|
+
}
|
|
64
|
+
| {
|
|
65
|
+
type: "bad configuration";
|
|
66
|
+
timeoutDelayMs: number;
|
|
67
|
+
}
|
|
68
|
+
| {
|
|
69
|
+
type: "unknown";
|
|
70
|
+
cause: Error;
|
|
71
|
+
}
|
|
72
|
+
) {
|
|
73
|
+
super(
|
|
74
|
+
(() => {
|
|
75
|
+
switch (params.type) {
|
|
76
|
+
case "server down":
|
|
77
|
+
return "The OIDC server is down";
|
|
78
|
+
case "bad configuration":
|
|
79
|
+
return `Bad configuration. Timed out after ${params.timeoutDelayMs}ms`;
|
|
80
|
+
case "unknown":
|
|
81
|
+
return params.cause.message;
|
|
82
|
+
}
|
|
83
|
+
})(),
|
|
84
|
+
// @ts-expect-error
|
|
85
|
+
{ "cause": params.type === "unknown" ? params.cause : undefined }
|
|
86
|
+
);
|
|
87
|
+
this.type = params.type;
|
|
88
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
54
92
|
const paramsToRetrieveFromSuccessfulLogin = ["code", "state", "session_state", "iss"] as const;
|
|
55
93
|
|
|
56
94
|
export type ParamsOfCreateOidc<
|
|
@@ -58,6 +96,7 @@ export type ParamsOfCreateOidc<
|
|
|
58
96
|
> = {
|
|
59
97
|
issuerUri: string;
|
|
60
98
|
clientId: string;
|
|
99
|
+
clientSecret?: string;
|
|
61
100
|
transformUrlBeforeRedirect?: (url: string) => string;
|
|
62
101
|
/**
|
|
63
102
|
* Extra query params to be added on the login url.
|
|
@@ -90,6 +129,7 @@ export async function createOidc<
|
|
|
90
129
|
const {
|
|
91
130
|
issuerUri,
|
|
92
131
|
clientId,
|
|
132
|
+
clientSecret,
|
|
93
133
|
transformUrlBeforeRedirect = url => url,
|
|
94
134
|
extraQueryParams: extraQueryParamsOrGetter,
|
|
95
135
|
publicUrl: publicUrl_params,
|
|
@@ -126,6 +166,7 @@ export async function createOidc<
|
|
|
126
166
|
const oidcClientTsUserManager = new OidcClientTsUserManager({
|
|
127
167
|
"authority": issuerUri,
|
|
128
168
|
"client_id": clientId,
|
|
169
|
+
"client_secret": clientSecret,
|
|
129
170
|
"redirect_uri": "" /* provided when calling login */,
|
|
130
171
|
"response_type": "code",
|
|
131
172
|
"scope": "openid profile",
|
|
@@ -290,7 +331,13 @@ export async function createOidc<
|
|
|
290
331
|
// The server might have restarted and the session might have been lost.
|
|
291
332
|
try {
|
|
292
333
|
await oidcClientTsUserManager.signinSilent();
|
|
293
|
-
} catch {
|
|
334
|
+
} catch (error) {
|
|
335
|
+
assert(error instanceof Error);
|
|
336
|
+
|
|
337
|
+
if (error.message === "Failed to fetch") {
|
|
338
|
+
throw new OidcInitializationError({ "type": "server down" });
|
|
339
|
+
}
|
|
340
|
+
|
|
294
341
|
return undefined;
|
|
295
342
|
}
|
|
296
343
|
|
|
@@ -300,12 +347,32 @@ export async function createOidc<
|
|
|
300
347
|
restore_from_http_only_cookie: {
|
|
301
348
|
const dLoginSuccessUrl = new Deferred<string | undefined>();
|
|
302
349
|
|
|
303
|
-
const timeoutDelayMs =
|
|
350
|
+
const timeoutDelayMs = (() => {
|
|
351
|
+
const downlinkAndRtt = getDownlinkAndRtt();
|
|
352
|
+
|
|
353
|
+
if (downlinkAndRtt === undefined) {
|
|
354
|
+
return 5000;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
const { downlink, rtt } = downlinkAndRtt;
|
|
358
|
+
|
|
359
|
+
// Base delay is the minimum delay we're willing to tolerate
|
|
360
|
+
const baseDelay = 3000;
|
|
361
|
+
|
|
362
|
+
// Calculate dynamic delay based on RTT and downlink
|
|
363
|
+
// Add 1 to downlink to avoid division by zero
|
|
364
|
+
const dynamicDelay = rtt * 2.5 + 3000 / (downlink + 1);
|
|
365
|
+
|
|
366
|
+
return Math.max(baseDelay, dynamicDelay);
|
|
367
|
+
})();
|
|
304
368
|
|
|
305
369
|
const timeout = setTimeout(
|
|
306
370
|
() =>
|
|
307
371
|
dLoginSuccessUrl.reject(
|
|
308
|
-
new
|
|
372
|
+
new OidcInitializationError({
|
|
373
|
+
"type": "bad configuration",
|
|
374
|
+
timeoutDelayMs
|
|
375
|
+
})
|
|
309
376
|
),
|
|
310
377
|
timeoutDelayMs
|
|
311
378
|
);
|
|
@@ -371,8 +438,12 @@ export async function createOidc<
|
|
|
371
438
|
|
|
372
439
|
oidcClientTsUserManager
|
|
373
440
|
.signinSilent({ "silentRequestTimeoutInSeconds": timeoutDelayMs / 1000 })
|
|
374
|
-
.catch(() => {
|
|
375
|
-
|
|
441
|
+
.catch((error: Error) => {
|
|
442
|
+
if (error.message === "Failed to fetch") {
|
|
443
|
+
clearTimeout(timeout);
|
|
444
|
+
|
|
445
|
+
dLoginSuccessUrl.reject(new OidcInitializationError({ "type": "server down" }));
|
|
446
|
+
}
|
|
376
447
|
});
|
|
377
448
|
|
|
378
449
|
const loginSuccessUrl = await dLoginSuccessUrl.pr;
|
|
@@ -428,7 +499,15 @@ export async function createOidc<
|
|
|
428
499
|
if (initialTokens instanceof Error) {
|
|
429
500
|
const error = initialTokens;
|
|
430
501
|
|
|
431
|
-
|
|
502
|
+
const initializationError =
|
|
503
|
+
error instanceof OidcInitializationError
|
|
504
|
+
? error
|
|
505
|
+
: new OidcInitializationError({
|
|
506
|
+
"type": "unknown",
|
|
507
|
+
"cause": error
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
console.error(`OIDC initilization error: ${initializationError.message}`);
|
|
432
511
|
|
|
433
512
|
return id<Oidc.NotLoggedIn>({
|
|
434
513
|
...common,
|
|
@@ -436,7 +515,8 @@ export async function createOidc<
|
|
|
436
515
|
"login": async () => {
|
|
437
516
|
alert("Authentication is currently unavailable. Please try again later.");
|
|
438
517
|
return new Promise<never>(() => {});
|
|
439
|
-
}
|
|
518
|
+
},
|
|
519
|
+
initializationError
|
|
440
520
|
});
|
|
441
521
|
}
|
|
442
522
|
|
|
@@ -444,7 +524,8 @@ export async function createOidc<
|
|
|
444
524
|
return id<Oidc.NotLoggedIn>({
|
|
445
525
|
...common,
|
|
446
526
|
"isUserLoggedIn": false,
|
|
447
|
-
login
|
|
527
|
+
login,
|
|
528
|
+
"initializationError": undefined
|
|
448
529
|
});
|
|
449
530
|
}
|
|
450
531
|
|
package/src/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 } from "./oidc";
|
|
2
|
+
import { createOidc, type ParamsOfCreateOidc, type Oidc, type 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";
|
|
@@ -16,6 +16,7 @@ export namespace OidcReact {
|
|
|
16
16
|
login: Oidc.NotLoggedIn["login"];
|
|
17
17
|
oidcTokens?: never;
|
|
18
18
|
logout?: never;
|
|
19
|
+
initializationError: OidcInitializationError | undefined;
|
|
19
20
|
};
|
|
20
21
|
|
|
21
22
|
export type LoggedIn<DecodedIdToken extends Record<string, unknown>> = Common & {
|
|
@@ -24,6 +25,7 @@ export namespace OidcReact {
|
|
|
24
25
|
logout: Oidc.LoggedIn["logout"];
|
|
25
26
|
renewTokens: Oidc.LoggedIn["renewTokens"];
|
|
26
27
|
login?: never;
|
|
28
|
+
initializationError?: never;
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
|
|
@@ -164,7 +166,8 @@ export function createReactOidc<
|
|
|
164
166
|
: id<OidcReact.NotLoggedIn>({
|
|
165
167
|
...common,
|
|
166
168
|
"isUserLoggedIn": false,
|
|
167
|
-
"login": oidc.login
|
|
169
|
+
"login": oidc.login,
|
|
170
|
+
"initializationError": oidc.initializationError
|
|
168
171
|
});
|
|
169
172
|
}
|
|
170
173
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { assert } from "tsafe/assert";
|
|
2
|
+
|
|
3
|
+
export function getDownlinkAndRtt(): { downlink: number; rtt: number } | undefined {
|
|
4
|
+
if (!(window.navigator instanceof Object)) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const navigator: any = window.navigator;
|
|
9
|
+
|
|
10
|
+
for (const key of ["connection", "mozConnection", "webkitConnection"] as const) {
|
|
11
|
+
try {
|
|
12
|
+
const { downlink, rtt } = navigator[key];
|
|
13
|
+
|
|
14
|
+
assert(typeof downlink === "number");
|
|
15
|
+
assert(typeof rtt === "number");
|
|
16
|
+
|
|
17
|
+
return { downlink, rtt };
|
|
18
|
+
} catch {}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getDownlinkAndRtt = void 0;
|
|
15
|
+
var assert_1 = require("tsafe/assert");
|
|
16
|
+
function getDownlinkAndRtt() {
|
|
17
|
+
var e_1, _a;
|
|
18
|
+
if (!(window.navigator instanceof Object)) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
var navigator = window.navigator;
|
|
22
|
+
try {
|
|
23
|
+
for (var _b = __values(["connection", "mozConnection", "webkitConnection"]), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
24
|
+
var key = _c.value;
|
|
25
|
+
try {
|
|
26
|
+
var _d = navigator[key], downlink = _d.downlink, rtt = _d.rtt;
|
|
27
|
+
(0, assert_1.assert)(typeof downlink === "number");
|
|
28
|
+
(0, assert_1.assert)(typeof rtt === "number");
|
|
29
|
+
return { downlink: downlink, rtt: rtt };
|
|
30
|
+
}
|
|
31
|
+
catch (_e) { }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
38
|
+
}
|
|
39
|
+
finally { if (e_1) throw e_1.error; }
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
exports.getDownlinkAndRtt = getDownlinkAndRtt;
|
|
44
|
+
//# sourceMappingURL=getDownlinkAndRtt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDownlinkAndRtt.js","sourceRoot":"","sources":["../src/tools/getDownlinkAndRtt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAsC;AAEtC,SAAgB,iBAAiB;;IAC7B,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,YAAY,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAM,SAAS,GAAQ,MAAM,CAAC,SAAS,CAAC;;QAExC,KAAkB,IAAA,KAAA,SAAA,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAU,CAAA,gBAAA,4BAAE,CAAC;YAA5E,IAAM,GAAG,WAAA;YACV,IAAI,CAAC;gBACK,IAAA,KAAoB,SAAS,CAAC,GAAG,CAAC,EAAhC,QAAQ,cAAA,EAAE,GAAG,SAAmB,CAAC;gBAEzC,IAAA,eAAM,EAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;gBACrC,IAAA,eAAM,EAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;gBAEhC,OAAO,EAAE,QAAQ,UAAA,EAAE,GAAG,KAAA,EAAE,CAAC;YAC7B,CAAC;YAAC,WAAM,CAAC,CAAA,CAAC;QACd,CAAC;;;;;;;;;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAnBD,8CAmBC"}
|