@axa-fr/react-oidc 6.0.0-beta3 → 6.0.0-beta6
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/dist/OidcServiceWorker.js +17 -2
- package/dist/vanilla/oidc.d.ts +1 -2
- package/dist/vanilla/oidc.d.ts.map +1 -1
- package/dist/vanilla/oidc.js +48 -26
- package/dist/vanilla/oidc.js.map +1 -1
- package/package.json +1 -1
- package/src/oidc/vanilla/OidcServiceWorker.js +17 -2
- package/src/oidc/vanilla/oidc.ts +41 -23
|
@@ -48,6 +48,10 @@ function hideTokens(currentDatabaseElement) {
|
|
|
48
48
|
const configurationName = currentDatabaseElement.configurationName;
|
|
49
49
|
return (response) => {
|
|
50
50
|
return response.json().then(tokens => {
|
|
51
|
+
if(!tokens.issued_at) {
|
|
52
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
53
|
+
tokens.issued_at = currentTimeUnixSecond;
|
|
54
|
+
}
|
|
51
55
|
currentDatabaseElement.tokens = tokens;
|
|
52
56
|
currentDatabaseElement.isLogin = true;
|
|
53
57
|
const secureTokens = {
|
|
@@ -57,6 +61,7 @@ function hideTokens(currentDatabaseElement) {
|
|
|
57
61
|
if(tokens.refresh_token){
|
|
58
62
|
secureTokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
59
63
|
}
|
|
64
|
+
|
|
60
65
|
const body = JSON.stringify(secureTokens)
|
|
61
66
|
return new Response(body, response);
|
|
62
67
|
});
|
|
@@ -80,11 +85,16 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
80
85
|
}
|
|
81
86
|
for (const [key, currentDatabase] of Object.entries(database)) {
|
|
82
87
|
const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;
|
|
83
|
-
|
|
88
|
+
|
|
89
|
+
if(!oidcServerConfiguration){
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if(oidcServerConfiguration.tokenEndpoint && url === oidcServerConfiguration.tokenEndpoint){
|
|
84
94
|
continue;
|
|
85
95
|
}
|
|
86
96
|
|
|
87
|
-
const domainsToSendTokens = oidcServerConfiguration
|
|
97
|
+
const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint ? [
|
|
88
98
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
89
99
|
] : [...trustedDomains[key]];
|
|
90
100
|
|
|
@@ -235,6 +245,11 @@ self.addEventListener('fetch', handleFetch);
|
|
|
235
245
|
|
|
236
246
|
|
|
237
247
|
const checkDomain =(domains, tokenEndpoint) => {
|
|
248
|
+
|
|
249
|
+
if(!tokenEndpoint){
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
|
|
238
253
|
const domain = domains.find(domain => tokenEndpoint.startsWith(domain));
|
|
239
254
|
if(!domain){
|
|
240
255
|
throw new Error("Domain " + tokenEndpoint+ " is not trusted, please add domain in TrustedDomains.js");
|
package/dist/vanilla/oidc.d.ts
CHANGED
|
@@ -88,8 +88,7 @@ export declare class Oidc {
|
|
|
88
88
|
_silentLoginErrorCallbackFromIFrame(): void;
|
|
89
89
|
silentLoginCallBackAsync(): Promise<void>;
|
|
90
90
|
silentLoginAsync(extras?: StringMap, state?: string, scope?: string): Promise<any>;
|
|
91
|
-
|
|
92
|
-
initAsync(authority: string, authorityConfiguration: AuthorityConfiguration): Promise<any>;
|
|
91
|
+
initAsync(authority: string, authorityConfiguration: AuthorityConfiguration): Promise<OidcAuthorizationServiceConfiguration>;
|
|
93
92
|
tryKeepExistingSessionPromise: any;
|
|
94
93
|
tryKeepExistingSessionAsync(): Promise<any>;
|
|
95
94
|
loginPromise: Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,iCAAiC,EAQpC,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAC,qCAAqC,EAAC,MAAM,yDAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
package/dist/vanilla/oidc.js
CHANGED
|
@@ -75,7 +75,7 @@ var timer_1 = __importDefault(require("./timer"));
|
|
|
75
75
|
var checkSessionIFrame_1 = require("./checkSessionIFrame");
|
|
76
76
|
var route_utils_1 = require("./route-utils");
|
|
77
77
|
var performTokenRequestAsync = function (url, details, extras) { return __awaiter(void 0, void 0, void 0, function () {
|
|
78
|
-
var _i, _a, _b, key, value, formBody, property, encodedKey, encodedValue, formBodyString, response,
|
|
78
|
+
var _i, _a, _b, key, value, formBody, property, encodedKey, encodedValue, formBodyString, response, tokens, currentTimeUnixSecond;
|
|
79
79
|
return __generator(this, function (_c) {
|
|
80
80
|
switch (_c.label) {
|
|
81
81
|
case 0:
|
|
@@ -106,15 +106,20 @@ var performTokenRequestAsync = function (url, details, extras) { return __awaite
|
|
|
106
106
|
}
|
|
107
107
|
return [4 /*yield*/, response.json()];
|
|
108
108
|
case 2:
|
|
109
|
-
|
|
109
|
+
tokens = _c.sent();
|
|
110
|
+
if (!tokens.issued_at) {
|
|
111
|
+
currentTimeUnixSecond = new Date().getTime() / 1000;
|
|
112
|
+
tokens.issued_at = currentTimeUnixSecond;
|
|
113
|
+
}
|
|
110
114
|
return [2 /*return*/, { success: true,
|
|
111
115
|
data: {
|
|
112
|
-
accessToken:
|
|
113
|
-
expiresIn:
|
|
114
|
-
idToken:
|
|
115
|
-
refreshToken:
|
|
116
|
-
scope:
|
|
117
|
-
tokenType:
|
|
116
|
+
accessToken: tokens.access_token,
|
|
117
|
+
expiresIn: tokens.expires_in,
|
|
118
|
+
idToken: tokens.id_token,
|
|
119
|
+
refreshToken: tokens.refresh_token,
|
|
120
|
+
scope: tokens.scope,
|
|
121
|
+
tokenType: tokens.token_type,
|
|
122
|
+
issuedAt: tokens.issued_at
|
|
118
123
|
}
|
|
119
124
|
}];
|
|
120
125
|
}
|
|
@@ -341,7 +346,7 @@ var setTokensAsync = function (serviceWorker, tokens) { return __awaiter(void 0,
|
|
|
341
346
|
_a.label = 6;
|
|
342
347
|
case 6:
|
|
343
348
|
_idTokenPayload = idTokenPayload(tokens.idToken);
|
|
344
|
-
expiresAt =
|
|
349
|
+
expiresAt = tokens.issuedAt + tokens.expiresIn;
|
|
345
350
|
return [2 /*return*/, __assign(__assign({}, tokens), { idTokenPayload: _idTokenPayload, accessTokenPayload: accessTokenPayload, expiresAt: expiresAt })];
|
|
346
351
|
}
|
|
347
352
|
});
|
|
@@ -378,14 +383,22 @@ var getRandomInt = function (max) {
|
|
|
378
383
|
};
|
|
379
384
|
var oneHourSecond = 60 * 60;
|
|
380
385
|
var fetchFromIssuerCache = null;
|
|
381
|
-
var fetchFromIssuer = function (openIdIssuerUrl, timeCacheSecond) {
|
|
386
|
+
var fetchFromIssuer = function (openIdIssuerUrl, timeCacheSecond, storage) {
|
|
382
387
|
if (timeCacheSecond === void 0) { timeCacheSecond = oneHourSecond; }
|
|
388
|
+
if (storage === void 0) { storage = window.sessionStorage; }
|
|
383
389
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
384
|
-
var fullUrl, oneHourMinisecond, response, result;
|
|
390
|
+
var fullUrl, localStorageKey, cacheJson, oneHourMinisecond, response, result, timestamp;
|
|
385
391
|
return __generator(this, function (_a) {
|
|
386
392
|
switch (_a.label) {
|
|
387
393
|
case 0:
|
|
388
394
|
fullUrl = "".concat(openIdIssuerUrl, "/.well-known/openid-configuration");
|
|
395
|
+
localStorageKey = "oidc.server:".concat(openIdIssuerUrl);
|
|
396
|
+
if (!fetchFromIssuerCache && storage) {
|
|
397
|
+
cacheJson = storage.getItem(localStorageKey);
|
|
398
|
+
if (cacheJson) {
|
|
399
|
+
fetchFromIssuerCache = JSON.parse(cacheJson);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
389
402
|
oneHourMinisecond = 1000 * timeCacheSecond;
|
|
390
403
|
// @ts-ignore
|
|
391
404
|
if (fetchFromIssuerCache && (fetchFromIssuerCache.timestamp + oneHourMinisecond) > Date.now()) {
|
|
@@ -400,8 +413,11 @@ var fetchFromIssuer = function (openIdIssuerUrl, timeCacheSecond) {
|
|
|
400
413
|
return [4 /*yield*/, response.json()];
|
|
401
414
|
case 2:
|
|
402
415
|
result = _a.sent();
|
|
403
|
-
|
|
404
|
-
|
|
416
|
+
timestamp = Date.now();
|
|
417
|
+
fetchFromIssuerCache = { result: result, timestamp: timestamp };
|
|
418
|
+
if (storage) {
|
|
419
|
+
storage.setItem(localStorageKey, JSON.stringify({ result: result, timestamp: timestamp }));
|
|
420
|
+
}
|
|
405
421
|
return [2 /*return*/, new OidcAuthorizationServiceConfiguration(result)];
|
|
406
422
|
}
|
|
407
423
|
});
|
|
@@ -425,7 +441,6 @@ var buildQueries = function (extras) {
|
|
|
425
441
|
var Oidc = /** @class */ (function () {
|
|
426
442
|
function Oidc(configuration, configurationName) {
|
|
427
443
|
if (configurationName === void 0) { configurationName = "default"; }
|
|
428
|
-
this.initAsyncPromise = null;
|
|
429
444
|
this.tryKeepExistingSessionPromise = null;
|
|
430
445
|
this.loginPromise = null;
|
|
431
446
|
this.loginCallbackPromise = null;
|
|
@@ -433,7 +448,7 @@ var Oidc = /** @class */ (function () {
|
|
|
433
448
|
this.loginCallbackWithAutoTokensRenewPromise = null;
|
|
434
449
|
var silent_login_uri = configuration.silent_login_uri;
|
|
435
450
|
if (configuration.silent_redirect_uri && !configuration.silent_login_uri) {
|
|
436
|
-
silent_login_uri = "".concat(configuration.silent_redirect_uri, "-login");
|
|
451
|
+
silent_login_uri = "".concat(configuration.silent_redirect_uri.replace("-callback", "").replace("callback", ""), "-login");
|
|
437
452
|
}
|
|
438
453
|
this.configuration = __assign(__assign({}, configuration), { silent_login_uri: silent_login_uri });
|
|
439
454
|
this.configurationName = configurationName;
|
|
@@ -453,6 +468,7 @@ var Oidc = /** @class */ (function () {
|
|
|
453
468
|
this.publishEvent.bind(this);
|
|
454
469
|
this.destroyAsync.bind(this);
|
|
455
470
|
this.logoutAsync.bind(this);
|
|
471
|
+
this.initAsync(this.configuration.authority, this.configuration.authority_configuration);
|
|
456
472
|
}
|
|
457
473
|
Oidc.prototype.subscriveEvents = function (func) {
|
|
458
474
|
var id = getRandomInt(9999999999999).toString();
|
|
@@ -631,9 +647,9 @@ var Oidc = /** @class */ (function () {
|
|
|
631
647
|
Oidc.prototype.initAsync = function (authority, authorityConfiguration) {
|
|
632
648
|
var _a;
|
|
633
649
|
return __awaiter(this, void 0, void 0, function () {
|
|
634
|
-
var
|
|
635
|
-
return __generator(this, function (
|
|
636
|
-
switch (
|
|
650
|
+
var serviceWorker, storage, initAsyncPromise;
|
|
651
|
+
return __generator(this, function (_b) {
|
|
652
|
+
switch (_b.label) {
|
|
637
653
|
case 0:
|
|
638
654
|
if (authorityConfiguration != null) {
|
|
639
655
|
return [2 /*return*/, new OidcAuthorizationServiceConfiguration({
|
|
@@ -645,14 +661,14 @@ var Oidc = /** @class */ (function () {
|
|
|
645
661
|
check_session_iframe: authorityConfiguration.check_session_iframe,
|
|
646
662
|
})];
|
|
647
663
|
}
|
|
648
|
-
|
|
649
|
-
return [2 /*return*/, this.initAsyncPromise];
|
|
650
|
-
}
|
|
651
|
-
_b = this;
|
|
652
|
-
return [4 /*yield*/, fetchFromIssuer(authority, (_a = this.configuration.authority_time_cache_wellknowurl_in_second) !== null && _a !== void 0 ? _a : 60 * 60)];
|
|
664
|
+
return [4 /*yield*/, (0, initWorker_1.initWorkerAsync)(this.configuration.service_worker_relative_url, this.configurationName)];
|
|
653
665
|
case 1:
|
|
654
|
-
|
|
655
|
-
|
|
666
|
+
serviceWorker = _b.sent();
|
|
667
|
+
storage = serviceWorker ? window.localStorage : null;
|
|
668
|
+
return [4 /*yield*/, fetchFromIssuer(authority, (_a = this.configuration.authority_time_cache_wellknowurl_in_second) !== null && _a !== void 0 ? _a : 60 * 60, storage)];
|
|
669
|
+
case 2:
|
|
670
|
+
initAsyncPromise = _b.sent();
|
|
671
|
+
return [2 /*return*/, initAsyncPromise];
|
|
656
672
|
}
|
|
657
673
|
});
|
|
658
674
|
});
|
|
@@ -697,7 +713,8 @@ var Oidc = /** @class */ (function () {
|
|
|
697
713
|
expiresIn: tokens.expires_in,
|
|
698
714
|
idToken: tokens.id_token,
|
|
699
715
|
scope: tokens.scope,
|
|
700
|
-
tokenType: tokens.token_type
|
|
716
|
+
tokenType: tokens.token_type,
|
|
717
|
+
issuedAt: tokens.issued_at
|
|
701
718
|
};
|
|
702
719
|
_a = this;
|
|
703
720
|
return [4 /*yield*/, setTokensAsync(serviceWorker, reformattedToken)];
|
|
@@ -709,8 +726,10 @@ var Oidc = /** @class */ (function () {
|
|
|
709
726
|
return [4 /*yield*/, serviceWorker.getSessionStateAsync()];
|
|
710
727
|
case 6:
|
|
711
728
|
sessionState = _d.sent();
|
|
729
|
+
// @ts-ignore
|
|
712
730
|
return [4 /*yield*/, this.startCheckSessionAsync(oidcServerConfiguration.check_session_iframe, configuration.client_id, sessionState)];
|
|
713
731
|
case 7:
|
|
732
|
+
// @ts-ignore
|
|
714
733
|
_d.sent();
|
|
715
734
|
this.publishEvent(eventNames.tryKeepExistingSessionAsync_end, {
|
|
716
735
|
success: true,
|
|
@@ -745,8 +764,10 @@ var Oidc = /** @class */ (function () {
|
|
|
745
764
|
// @ts-ignore
|
|
746
765
|
this.timeoutId = autoRenewTokens(this, tokens.refreshToken, this.tokens.expiresAt);
|
|
747
766
|
sessionState = session.getSessionState();
|
|
767
|
+
// @ts-ignore
|
|
748
768
|
return [4 /*yield*/, this.startCheckSessionAsync(oidcServerConfiguration.check_session_iframe, configuration.client_id, sessionState)];
|
|
749
769
|
case 12:
|
|
770
|
+
// @ts-ignore
|
|
750
771
|
_d.sent();
|
|
751
772
|
this.publishEvent(eventNames.tryKeepExistingSessionAsync_end, {
|
|
752
773
|
success: true,
|
|
@@ -1069,6 +1090,7 @@ var Oidc = /** @class */ (function () {
|
|
|
1069
1090
|
clearTimeout(timeoutId);
|
|
1070
1091
|
_this.timeoutId = null;
|
|
1071
1092
|
var loginParams_1 = getLoginParams(_this.configurationName, redirectUri_1);
|
|
1093
|
+
// @ts-ignore
|
|
1072
1094
|
_this.startCheckSessionAsync(oidcServerConfiguration_1.check_session_iframe, clientId_1, sessionState_2, isSilentSignin).then(function () {
|
|
1073
1095
|
_this.publishEvent(eventNames.loginCallbackAsync_end, {});
|
|
1074
1096
|
resolve({
|
package/dist/vanilla/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -48,6 +48,10 @@ function hideTokens(currentDatabaseElement) {
|
|
|
48
48
|
const configurationName = currentDatabaseElement.configurationName;
|
|
49
49
|
return (response) => {
|
|
50
50
|
return response.json().then(tokens => {
|
|
51
|
+
if(!tokens.issued_at) {
|
|
52
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
53
|
+
tokens.issued_at = currentTimeUnixSecond;
|
|
54
|
+
}
|
|
51
55
|
currentDatabaseElement.tokens = tokens;
|
|
52
56
|
currentDatabaseElement.isLogin = true;
|
|
53
57
|
const secureTokens = {
|
|
@@ -57,6 +61,7 @@ function hideTokens(currentDatabaseElement) {
|
|
|
57
61
|
if(tokens.refresh_token){
|
|
58
62
|
secureTokens.refresh_token = REFRESH_TOKEN + "_" + configurationName;
|
|
59
63
|
}
|
|
64
|
+
|
|
60
65
|
const body = JSON.stringify(secureTokens)
|
|
61
66
|
return new Response(body, response);
|
|
62
67
|
});
|
|
@@ -80,11 +85,16 @@ const getCurrentDatabaseDomain = (database, url) => {
|
|
|
80
85
|
}
|
|
81
86
|
for (const [key, currentDatabase] of Object.entries(database)) {
|
|
82
87
|
const oidcServerConfiguration = currentDatabase.oidcServerConfiguration;
|
|
83
|
-
|
|
88
|
+
|
|
89
|
+
if(!oidcServerConfiguration){
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if(oidcServerConfiguration.tokenEndpoint && url === oidcServerConfiguration.tokenEndpoint){
|
|
84
94
|
continue;
|
|
85
95
|
}
|
|
86
96
|
|
|
87
|
-
const domainsToSendTokens = oidcServerConfiguration
|
|
97
|
+
const domainsToSendTokens = oidcServerConfiguration.userInfoEndpoint ? [
|
|
88
98
|
oidcServerConfiguration.userInfoEndpoint, ...trustedDomains[key]
|
|
89
99
|
] : [...trustedDomains[key]];
|
|
90
100
|
|
|
@@ -235,6 +245,11 @@ self.addEventListener('fetch', handleFetch);
|
|
|
235
245
|
|
|
236
246
|
|
|
237
247
|
const checkDomain =(domains, tokenEndpoint) => {
|
|
248
|
+
|
|
249
|
+
if(!tokenEndpoint){
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
|
|
238
253
|
const domain = domains.find(domain => tokenEndpoint.startsWith(domain));
|
|
239
254
|
if(!domain){
|
|
240
255
|
throw new Error("Domain " + tokenEndpoint+ " is not trusted, please add domain in TrustedDomains.js");
|
package/src/oidc/vanilla/oidc.ts
CHANGED
|
@@ -46,15 +46,22 @@ const performTokenRequestAsync= async (url, details, extras) => {
|
|
|
46
46
|
if(response.status !== 200){
|
|
47
47
|
return {success:false, status: response.status}
|
|
48
48
|
}
|
|
49
|
-
const
|
|
49
|
+
const tokens = await response.json();
|
|
50
|
+
|
|
51
|
+
if(!tokens.issued_at) {
|
|
52
|
+
const currentTimeUnixSecond = new Date().getTime() /1000;
|
|
53
|
+
tokens.issued_at = currentTimeUnixSecond;
|
|
54
|
+
}
|
|
55
|
+
|
|
50
56
|
return { success : true,
|
|
51
57
|
data : {
|
|
52
|
-
accessToken:
|
|
53
|
-
expiresIn:
|
|
54
|
-
idToken:
|
|
55
|
-
refreshToken:
|
|
56
|
-
scope:
|
|
57
|
-
tokenType:
|
|
58
|
+
accessToken: tokens.access_token,
|
|
59
|
+
expiresIn: tokens.expires_in,
|
|
60
|
+
idToken: tokens.id_token,
|
|
61
|
+
refreshToken: tokens.refresh_token,
|
|
62
|
+
scope: tokens.scope,
|
|
63
|
+
tokenType: tokens.token_type,
|
|
64
|
+
issuedAt: tokens.issued_at
|
|
58
65
|
}
|
|
59
66
|
};
|
|
60
67
|
}
|
|
@@ -273,7 +280,7 @@ const setTokensAsync = async (serviceWorker, tokens) =>{
|
|
|
273
280
|
accessTokenPayload = extractAccessTokenPayload(tokens);
|
|
274
281
|
}
|
|
275
282
|
const _idTokenPayload = idTokenPayload(tokens.idToken);
|
|
276
|
-
const expiresAt = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp
|
|
283
|
+
const expiresAt = /*(_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp :*/ tokens.issuedAt + tokens.expiresIn;
|
|
277
284
|
return {...tokens, idTokenPayload: _idTokenPayload, accessTokenPayload, expiresAt};
|
|
278
285
|
}
|
|
279
286
|
|
|
@@ -311,13 +318,17 @@ const getRandomInt = (max) => {
|
|
|
311
318
|
|
|
312
319
|
const oneHourSecond = 60 * 60;
|
|
313
320
|
let fetchFromIssuerCache = null;
|
|
314
|
-
const fetchFromIssuer = async (openIdIssuerUrl: string, timeCacheSecond = oneHourSecond):
|
|
321
|
+
const fetchFromIssuer = async (openIdIssuerUrl: string, timeCacheSecond = oneHourSecond, storage= window.sessionStorage):
|
|
315
322
|
Promise<OidcAuthorizationServiceConfiguration> => {
|
|
316
323
|
const fullUrl = `${openIdIssuerUrl}/.well-known/openid-configuration`;
|
|
317
324
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
325
|
+
const localStorageKey = `oidc.server:${openIdIssuerUrl}`;
|
|
326
|
+
if(!fetchFromIssuerCache && storage) {
|
|
327
|
+
const cacheJson = storage.getItem(localStorageKey);
|
|
328
|
+
if(cacheJson){
|
|
329
|
+
fetchFromIssuerCache = JSON.parse(cacheJson);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
321
332
|
const oneHourMinisecond = 1000 * timeCacheSecond;
|
|
322
333
|
// @ts-ignore
|
|
323
334
|
if(fetchFromIssuerCache && (fetchFromIssuerCache.timestamp + oneHourMinisecond) > Date.now()){
|
|
@@ -330,9 +341,12 @@ const fetchFromIssuer = async (openIdIssuerUrl: string, timeCacheSecond = oneHou
|
|
|
330
341
|
}
|
|
331
342
|
|
|
332
343
|
const result = await response.json();
|
|
333
|
-
fetchFromIssuerCache = {result, timestamp:Date.now()};
|
|
334
|
-
//window.sessionStorage.setItem(localStorageKey, JSON.stringify({result, timestamp:Date.now()}));
|
|
335
344
|
|
|
345
|
+
const timestamp = Date.now();
|
|
346
|
+
fetchFromIssuerCache = {result, timestamp};
|
|
347
|
+
if(storage) {
|
|
348
|
+
storage.setItem(localStorageKey, JSON.stringify({result, timestamp}));
|
|
349
|
+
}
|
|
336
350
|
return new OidcAuthorizationServiceConfiguration(result);
|
|
337
351
|
}
|
|
338
352
|
|
|
@@ -363,7 +377,7 @@ export class Oidc {
|
|
|
363
377
|
constructor(configuration:OidcConfiguration, configurationName="default") {
|
|
364
378
|
let silent_login_uri = configuration.silent_login_uri;
|
|
365
379
|
if(configuration.silent_redirect_uri && !configuration.silent_login_uri){
|
|
366
|
-
silent_login_uri = `${configuration.silent_redirect_uri}-login`;
|
|
380
|
+
silent_login_uri = `${configuration.silent_redirect_uri.replace("-callback", "").replace("callback", "")}-login`;
|
|
367
381
|
}
|
|
368
382
|
|
|
369
383
|
this.configuration = {...configuration, silent_login_uri};
|
|
@@ -384,6 +398,8 @@ export class Oidc {
|
|
|
384
398
|
this.publishEvent.bind(this);
|
|
385
399
|
this.destroyAsync.bind(this);
|
|
386
400
|
this.logoutAsync.bind(this);
|
|
401
|
+
|
|
402
|
+
this.initAsync(this.configuration.authority, this.configuration.authority_configuration);
|
|
387
403
|
}
|
|
388
404
|
|
|
389
405
|
subscriveEvents(func){
|
|
@@ -536,7 +552,6 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
536
552
|
throw e;
|
|
537
553
|
}
|
|
538
554
|
}
|
|
539
|
-
initAsyncPromise = null;
|
|
540
555
|
async initAsync(authority:string, authorityConfiguration:AuthorityConfiguration) {
|
|
541
556
|
if (authorityConfiguration != null) {
|
|
542
557
|
return new OidcAuthorizationServiceConfiguration( {
|
|
@@ -548,12 +563,11 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
548
563
|
check_session_iframe:authorityConfiguration.check_session_iframe,
|
|
549
564
|
});
|
|
550
565
|
}
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
return this.initAsyncPromise;
|
|
566
|
+
|
|
567
|
+
const serviceWorker = await initWorkerAsync(this.configuration.service_worker_relative_url, this.configurationName);
|
|
568
|
+
const storage = serviceWorker ? window.localStorage : null;
|
|
569
|
+
const initAsyncPromise = await fetchFromIssuer(authority, this.configuration.authority_time_cache_wellknowurl_in_second ?? 60 * 60, storage);
|
|
570
|
+
return initAsyncPromise;
|
|
557
571
|
}
|
|
558
572
|
|
|
559
573
|
tryKeepExistingSessionPromise = null;
|
|
@@ -583,13 +597,15 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
583
597
|
expiresIn: tokens.expires_in,
|
|
584
598
|
idToken: tokens.id_token,
|
|
585
599
|
scope: tokens.scope,
|
|
586
|
-
tokenType: tokens.token_type
|
|
600
|
+
tokenType: tokens.token_type,
|
|
601
|
+
issuedAt: tokens.issued_at
|
|
587
602
|
}
|
|
588
603
|
this.tokens = await setTokensAsync(serviceWorker, reformattedToken);
|
|
589
604
|
this.serviceWorker = serviceWorker;
|
|
590
605
|
// @ts-ignore
|
|
591
606
|
this.timeoutId = autoRenewTokens(this, this.tokens.refreshToken, this.tokens.expiresAt);
|
|
592
607
|
const sessionState = await serviceWorker.getSessionStateAsync();
|
|
608
|
+
// @ts-ignore
|
|
593
609
|
await this.startCheckSessionAsync(oidcServerConfiguration.check_session_iframe, configuration.client_id, sessionState);
|
|
594
610
|
this.publishEvent(eventNames.tryKeepExistingSessionAsync_end, {
|
|
595
611
|
success: true,
|
|
@@ -617,6 +633,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
617
633
|
// @ts-ignore
|
|
618
634
|
this.timeoutId = autoRenewTokens(this, tokens.refreshToken, this.tokens.expiresAt);
|
|
619
635
|
const sessionState = session.getSessionState();
|
|
636
|
+
// @ts-ignore
|
|
620
637
|
await this.startCheckSessionAsync(oidcServerConfiguration.check_session_iframe, configuration.client_id, sessionState);
|
|
621
638
|
this.publishEvent(eventNames.tryKeepExistingSessionAsync_end, {
|
|
622
639
|
success: true,
|
|
@@ -889,6 +906,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
|
|
|
889
906
|
clearTimeout(timeoutId);
|
|
890
907
|
this.timeoutId=null;
|
|
891
908
|
const loginParams = getLoginParams(this.configurationName, redirectUri);
|
|
909
|
+
// @ts-ignore
|
|
892
910
|
this.startCheckSessionAsync(oidcServerConfiguration.check_session_iframe, clientId, sessionState, isSilentSignin).then(() =>{
|
|
893
911
|
this.publishEvent(eventNames.loginCallbackAsync_end, {});
|
|
894
912
|
resolve({
|