@axa-fr/react-oidc 6.0.0-beta5 → 6.0.0-beta8

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.
@@ -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
  });
@@ -99,7 +99,7 @@ export declare class Oidc {
99
99
  _loginCallbackAsync(isSilentSignin?: boolean): Promise<unknown>;
100
100
  refreshTokensAsync(refreshToken: any): Promise<any>;
101
101
  syncTokensAsyncPromise: any;
102
- syncTokensAsync(): Promise<void>;
102
+ syncTokensAsync(): Promise<any>;
103
103
  loginCallbackWithAutoTokensRenewPromise: Promise<loginCallbackResult>;
104
104
  loginCallbackWithAutoTokensRenewAsync(): Promise<loginCallbackResult>;
105
105
  userInfoAsync(): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../src/oidc/vanilla/oidc.ts"],"names":[],"mappings":"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"}
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;AAwE9G,MAAM,WAAW,yCAA0C,SAAQ,qCAAqC;IACpG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,qCAAsC,SAAQ,iCAAiC;IACxF,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,EAAE,GAAG;CAS3B;AAiCD,MAAM,WAAW,SAAS;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAC,MAAM,CAAC;CAChC;AAEA,oBAAY,iBAAiB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAC,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAC,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C,CAAC,EAAE,MAAM,CAAC;IACpD,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IACjD,+CAA+C,CAAC,EAAE,MAAM,CAAC;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAC,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAC,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAC,SAAS,CAAA;IACjB,oBAAoB,CAAC,EAAC,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC;AA+LF,qBAAa,IAAI;IACN,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,aAAa,CAAC,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAC,CAAM;IACtB,OAAO,CAAC,kBAAkB,CAAqB;gBACnC,aAAa,EAAC,iBAAiB,EAAE,iBAAiB,SAAU;IA4BxE,eAAe,CAAC,IAAI,KAAA;IAMpB,uBAAuB,CAAC,EAAE,KAAA;IAK1B,YAAY,CAAC,SAAS,KAAA,EAAE,IAAI,KAAA;IAK5B,MAAM,CAAC,WAAW,CAAC,aAAa,KAAA,EAAE,IAAI,SAAU;IAGhD,MAAM,CAAC,GAAG,CAAC,IAAI,SAAU;IAQzB,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;MAAc;IAE/B,8BAA8B;IAM9B,mCAAmC;IAO7B,wBAAwB;IAUxB,gBAAgB,CAAC,MAAM,GAAC,SAAc,EAAE,KAAK,GAAC,MAAW,EAAE,KAAK,GAAC,MAAW;IAkG5E,SAAS,CAAC,SAAS,EAAC,MAAM,EAAE,sBAAsB,EAAC,sBAAsB;IAkB/E,6BAA6B,MAAQ;IAC/B,2BAA2B;IA6FjC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAM;IAC1B,UAAU,CAAC,YAAY,GAAC,MAAgB,EAAE,MAAM,GAAC,SAAc,EAAE,oBAAoB,UAAK,EAAE,KAAK,GAAC,MAAgB,EAAE,cAAc,GAAC,OAAa,EAAE,KAAK,GAAC,MAAgB;IA4ExK,sBAAsB,CAAC,qBAAqB,KAAA,EAAE,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,cAAc,UAAM;IAkDhG,oBAAoB,EAAG,OAAO,CAAC,GAAG,CAAC,CAAK;IAClC,kBAAkB,CAAC,aAAa,GAAC,OAAa;IA0B9C,mBAAmB,CAAC,cAAc,GAAC,OAAa;IAsHhD,kBAAkB,CAAC,YAAY,KAAA;IAuErC,sBAAsB,MAAM;IACtB,eAAe;IAyErB,uCAAuC,EAAC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;IAC3E,qCAAqC,IAAG,OAAO,CAAC,mBAAmB,CAAC;IAWpE,aAAa;IAIP,YAAY;IAkBb,WAAW,CAAC,iBAAiB,GAAE,MAAM,GAAG,SAAqB,EAAE,MAAM,GAAE,SAAgB;CA8B9F;AAGD,eAAe,IAAI,CAAC"}
@@ -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, result;
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
- result = _c.sent();
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: result.access_token,
113
- expiresIn: result.expires_in,
114
- idToken: result.id_token,
115
- refreshToken: result.refresh_token,
116
- scope: result.scope,
117
- tokenType: result.token_type,
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
  }
@@ -218,7 +223,7 @@ var autoRenewTokens = function (oidc, refreshToken, expiresAt) {
218
223
  var _a;
219
224
  var refreshTimeBeforeTokensExpirationInSecond = (_a = oidc.configuration.refresh_time_before_tokens_expiration_in_second) !== null && _a !== void 0 ? _a : 60;
220
225
  return timer_1.default.setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
221
- var currentTimeUnixSecond, timeInfo, tokens, _a;
226
+ var currentTimeUnixSecond, timeInfo, tokens, _a, tokens;
222
227
  return __generator(this, function (_b) {
223
228
  switch (_b.label) {
224
229
  case 0:
@@ -253,9 +258,9 @@ var autoRenewTokens = function (oidc, refreshToken, expiresAt) {
253
258
  return [3 /*break*/, 7];
254
259
  case 5: return [4 /*yield*/, oidc.syncTokensAsync()];
255
260
  case 6:
256
- _b.sent();
257
- if (oidc.timeoutId) {
258
- oidc.timeoutId = autoRenewTokens(oidc, refreshToken, expiresAt);
261
+ tokens = _b.sent();
262
+ if (tokens && oidc.timeoutId) {
263
+ oidc.timeoutId = autoRenewTokens(oidc, tokens.refreshToken, expiresAt);
259
264
  }
260
265
  _b.label = 7;
261
266
  case 7: return [2 /*return*/];
@@ -319,7 +324,7 @@ var userInfoAsync = function (oidc) { return __awaiter(void 0, void 0, void 0, f
319
324
  });
320
325
  }); };
321
326
  var setTokensAsync = function (serviceWorker, tokens) { return __awaiter(void 0, void 0, void 0, function () {
322
- var accessTokenPayload, _idTokenPayload, expiresAt;
327
+ var accessTokenPayload, _idTokenPayload, idTokenExipreAt, accessTokenExpiresAt, expiresAt;
323
328
  return __generator(this, function (_a) {
324
329
  switch (_a.label) {
325
330
  case 0:
@@ -341,7 +346,9 @@ 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 = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
349
+ idTokenExipreAt = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp : Number.MAX_VALUE;
350
+ accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp) ? accessTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
351
+ expiresAt = idTokenExipreAt < accessTokenExpiresAt ? idTokenExipreAt : accessTokenExpiresAt;
345
352
  return [2 /*return*/, __assign(__assign({}, tokens), { idTokenPayload: _idTokenPayload, accessTokenPayload: accessTokenPayload, expiresAt: expiresAt })];
346
353
  }
347
354
  });
@@ -443,7 +450,7 @@ var Oidc = /** @class */ (function () {
443
450
  this.loginCallbackWithAutoTokensRenewPromise = null;
444
451
  var silent_login_uri = configuration.silent_login_uri;
445
452
  if (configuration.silent_redirect_uri && !configuration.silent_login_uri) {
446
- silent_login_uri = "".concat(configuration.silent_redirect_uri.replace("-callback", ""), "-login");
453
+ silent_login_uri = "".concat(configuration.silent_redirect_uri.replace("-callback", "").replace("callback", ""), "-login");
447
454
  }
448
455
  this.configuration = __assign(__assign({}, configuration), { silent_login_uri: silent_login_uri });
449
456
  this.configurationName = configurationName;
@@ -607,7 +614,7 @@ var Oidc = /** @class */ (function () {
607
614
  self_1.publishEvent(eventNames.silentLoginAsync_error, result);
608
615
  iframe_1.remove();
609
616
  isResolved_1 = true;
610
- reject(result);
617
+ reject(new Error("oidc"));
611
618
  }
612
619
  }
613
620
  }
@@ -616,10 +623,10 @@ var Oidc = /** @class */ (function () {
616
623
  var silentSigninTimeout = (_a = configuration_1.silent_login_timeout) !== null && _a !== void 0 ? _a : 12000;
617
624
  setTimeout(function () {
618
625
  if (!isResolved_1) {
619
- self_1.publishEvent(eventNames.silentLoginAsync_error, "timeout");
626
+ self_1.publishEvent(eventNames.silentLoginAsync_error, { reason: "timeout" });
620
627
  iframe_1.remove();
621
628
  isResolved_1 = true;
622
- reject("timeout");
629
+ reject(new Error("timeout"));
623
630
  }
624
631
  }, silentSigninTimeout);
625
632
  }
@@ -708,7 +715,8 @@ var Oidc = /** @class */ (function () {
708
715
  expiresIn: tokens.expires_in,
709
716
  idToken: tokens.id_token,
710
717
  scope: tokens.scope,
711
- tokenType: tokens.token_type
718
+ tokenType: tokens.token_type,
719
+ issuedAt: tokens.issued_at
712
720
  };
713
721
  _a = this;
714
722
  return [4 /*yield*/, setTokensAsync(serviceWorker, reformattedToken)];
@@ -1179,7 +1187,7 @@ var Oidc = /** @class */ (function () {
1179
1187
  index = 0;
1180
1188
  _c.label = 4;
1181
1189
  case 4:
1182
- if (!(index <= 2)) return [3 /*break*/, 15];
1190
+ if (!(index <= 4)) return [3 /*break*/, 15];
1183
1191
  _c.label = 5;
1184
1192
  case 5:
1185
1193
  _c.trys.push([5, 13, , 14]);
@@ -1218,83 +1226,97 @@ var Oidc = /** @class */ (function () {
1218
1226
  });
1219
1227
  };
1220
1228
  Oidc.prototype.syncTokensAsync = function () {
1221
- var _a;
1222
1229
  return __awaiter(this, void 0, void 0, function () {
1223
- var configuration, oidcServerConfiguration, serviceWorker, isLogin, silent_token_response, _b, exceptionSilent_2, session, tokens;
1224
- return __generator(this, function (_c) {
1225
- switch (_c.label) {
1226
- case 0:
1227
- configuration = this.configuration;
1228
- if (!this.tokens) {
1229
- return [2 /*return*/];
1230
- }
1231
- return [4 /*yield*/, this.initAsync(configuration.authority, configuration.authority_configuration)];
1232
- case 1:
1233
- oidcServerConfiguration = _c.sent();
1234
- return [4 /*yield*/, (0, initWorker_1.initWorkerAsync)(configuration.service_worker_relative_url, this.configurationName)];
1235
- case 2:
1236
- serviceWorker = _c.sent();
1237
- if (!serviceWorker) return [3 /*break*/, 14];
1238
- return [4 /*yield*/, serviceWorker.initAsync(oidcServerConfiguration, "syncTokensAsync")];
1239
- case 3:
1240
- isLogin = (_c.sent()).isLogin;
1241
- if (!(isLogin == false)) return [3 /*break*/, 5];
1242
- this.publishEvent(eventNames.logout_from_another_tab, {});
1243
- return [4 /*yield*/, this.destroyAsync()];
1244
- case 4:
1245
- _c.sent();
1246
- return [3 /*break*/, 13];
1247
- case 5:
1248
- if (!(isLogin == null)) return [3 /*break*/, 13];
1249
- _c.label = 6;
1250
- case 6:
1251
- _c.trys.push([6, 11, , 12]);
1252
- this.publishEvent(eventNames.syncTokensAsync_begin, {});
1253
- this.syncTokensAsyncPromise = this.silentLoginAsync({ prompt: "none" });
1254
- return [4 /*yield*/, this.syncTokensAsyncPromise];
1255
- case 7:
1256
- silent_token_response = _c.sent();
1257
- if (!(silent_token_response && silent_token_response.tokens)) return [3 /*break*/, 9];
1258
- _b = this;
1259
- return [4 /*yield*/, setTokensAsync(serviceWorker, silent_token_response.tokens)];
1260
- case 8:
1261
- _b.tokens = _c.sent();
1262
- return [3 /*break*/, 10];
1263
- case 9:
1264
- this.publishEvent(eventNames.syncTokensAsync_error, { message: "no token found in result" });
1265
- if (this.timeoutId) {
1266
- timer_1.default.clearTimeout(this.timeoutId);
1267
- this.timeoutId = null;
1268
- }
1269
- return [2 /*return*/];
1270
- case 10: return [3 /*break*/, 12];
1271
- case 11:
1272
- exceptionSilent_2 = _c.sent();
1273
- console.error(exceptionSilent_2);
1274
- this.publishEvent(eventNames.syncTokensAsync_error, exceptionSilent_2);
1275
- if (this.timeoutId) {
1276
- timer_1.default.clearTimeout(this.timeoutId);
1277
- this.timeoutId = null;
1230
+ var localSyncTokensAsync;
1231
+ var _this = this;
1232
+ return __generator(this, function (_a) {
1233
+ localSyncTokensAsync = function () { return __awaiter(_this, void 0, void 0, function () {
1234
+ var configuration, oidcServerConfiguration, serviceWorker, isLogin, silent_token_response, _a, exceptionSilent_2, session, tokens;
1235
+ var _b;
1236
+ return __generator(this, function (_c) {
1237
+ switch (_c.label) {
1238
+ case 0:
1239
+ configuration = this.configuration;
1240
+ if (!this.tokens) {
1241
+ return [2 /*return*/, null];
1242
+ }
1243
+ return [4 /*yield*/, this.initAsync(configuration.authority, configuration.authority_configuration)];
1244
+ case 1:
1245
+ oidcServerConfiguration = _c.sent();
1246
+ return [4 /*yield*/, (0, initWorker_1.initWorkerAsync)(configuration.service_worker_relative_url, this.configurationName)];
1247
+ case 2:
1248
+ serviceWorker = _c.sent();
1249
+ if (!serviceWorker) return [3 /*break*/, 13];
1250
+ return [4 /*yield*/, serviceWorker.initAsync(oidcServerConfiguration, "syncTokensAsync")];
1251
+ case 3:
1252
+ isLogin = (_c.sent()).isLogin;
1253
+ if (!(isLogin == false)) return [3 /*break*/, 5];
1254
+ this.publishEvent(eventNames.logout_from_another_tab, {});
1255
+ return [4 /*yield*/, this.destroyAsync()];
1256
+ case 4:
1257
+ _c.sent();
1258
+ return [2 /*return*/, null];
1259
+ case 5:
1260
+ if (!(isLogin == null)) return [3 /*break*/, 12];
1261
+ _c.label = 6;
1262
+ case 6:
1263
+ _c.trys.push([6, 11, , 12]);
1264
+ this.publishEvent(eventNames.syncTokensAsync_begin, {});
1265
+ return [4 /*yield*/, this.silentLoginAsync({ prompt: "none" })];
1266
+ case 7:
1267
+ silent_token_response = _c.sent();
1268
+ if (!(silent_token_response && silent_token_response.tokens)) return [3 /*break*/, 9];
1269
+ _a = this;
1270
+ return [4 /*yield*/, setTokensAsync(serviceWorker, silent_token_response.tokens)];
1271
+ case 8:
1272
+ _a.tokens = _c.sent();
1273
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1274
+ return [2 /*return*/, this.tokens];
1275
+ case 9:
1276
+ this.publishEvent(eventNames.syncTokensAsync_error, { message: "no token found in result" });
1277
+ if (this.timeoutId) {
1278
+ timer_1.default.clearTimeout(this.timeoutId);
1279
+ this.timeoutId = null;
1280
+ }
1281
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1282
+ return [2 /*return*/, null];
1283
+ case 10: return [3 /*break*/, 12];
1284
+ case 11:
1285
+ exceptionSilent_2 = _c.sent();
1286
+ console.error(exceptionSilent_2);
1287
+ this.publishEvent(eventNames.syncTokensAsync_error, exceptionSilent_2);
1288
+ if (this.timeoutId) {
1289
+ timer_1.default.clearTimeout(this.timeoutId);
1290
+ this.timeoutId = null;
1291
+ }
1292
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1293
+ return [2 /*return*/, null];
1294
+ case 12: return [3 /*break*/, 16];
1295
+ case 13:
1296
+ session = (0, initSession_1.initSession)(this.configurationName, configuration.redirect_uri, (_b = configuration.storage) !== null && _b !== void 0 ? _b : sessionStorage);
1297
+ return [4 /*yield*/, session.initAsync()];
1298
+ case 14:
1299
+ tokens = (_c.sent()).tokens;
1300
+ if (!!tokens) return [3 /*break*/, 16];
1301
+ this.publishEvent(eventNames.logout_from_another_tab, {});
1302
+ return [4 /*yield*/, this.destroyAsync()];
1303
+ case 15:
1304
+ _c.sent();
1305
+ return [2 /*return*/, null];
1306
+ case 16: return [2 /*return*/, this.tokens];
1278
1307
  }
1279
- return [2 /*return*/];
1280
- case 12:
1281
- this.syncTokensAsyncPromise = null;
1282
- this.publishEvent(eventNames.syncTokensAsync_end, {});
1283
- _c.label = 13;
1284
- case 13: return [3 /*break*/, 17];
1285
- case 14:
1286
- session = (0, initSession_1.initSession)(this.configurationName, configuration.redirect_uri, (_a = configuration.storage) !== null && _a !== void 0 ? _a : sessionStorage);
1287
- return [4 /*yield*/, session.initAsync()];
1288
- case 15:
1289
- tokens = (_c.sent()).tokens;
1290
- if (!!tokens) return [3 /*break*/, 17];
1291
- this.publishEvent(eventNames.logout_from_another_tab, {});
1292
- return [4 /*yield*/, this.destroyAsync()];
1293
- case 16:
1294
- _c.sent();
1295
- _c.label = 17;
1296
- case 17: return [2 /*return*/];
1308
+ });
1309
+ }); };
1310
+ if (this.syncTokensAsyncPromise) {
1311
+ return [2 /*return*/, this.syncTokensAsyncPromise];
1297
1312
  }
1313
+ this.syncTokensAsyncPromise = localSyncTokensAsync().then(function (result) {
1314
+ if (_this.syncTokensAsyncPromise) {
1315
+ _this.syncTokensAsyncPromise = null;
1316
+ }
1317
+ return result;
1318
+ });
1319
+ return [2 /*return*/, this.syncTokensAsyncPromise];
1298
1320
  });
1299
1321
  });
1300
1322
  };
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axa-fr/react-oidc",
3
- "version": "6.0.0-beta5",
3
+ "version": "6.0.0-beta8",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "jsnext:main": "dist/index.js",
@@ -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
  });
@@ -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 result = await response.json();
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: result.access_token,
53
- expiresIn: result.expires_in,
54
- idToken: result.id_token,
55
- refreshToken: result.refresh_token,
56
- scope: result.scope,
57
- tokenType: result.token_type,
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
  }
@@ -209,9 +216,9 @@ const autoRenewTokens = (oidc, refreshToken, expiresAt) => {
209
216
  oidc.timeoutId = autoRenewTokens(oidc, tokens.refreshToken, oidc.tokens.expiresAt);
210
217
  }
211
218
  } else{
212
- await oidc.syncTokensAsync();
213
- if(oidc.timeoutId) {
214
- oidc.timeoutId = autoRenewTokens(oidc, refreshToken, expiresAt);
219
+ const tokens = await oidc.syncTokensAsync();
220
+ if(tokens && oidc.timeoutId) {
221
+ oidc.timeoutId = autoRenewTokens(oidc, tokens.refreshToken, expiresAt);
215
222
  }
216
223
  }
217
224
  }, 1000);
@@ -224,7 +231,6 @@ const getLoginParams = (configurationName, redirectUri) => {
224
231
  return JSON.parse(sessionStorage[getLoginSessionKey(configurationName, redirectUri)]);
225
232
  }
226
233
 
227
-
228
234
  const userInfoAsync = async (oidc) => {
229
235
  if(oidc.userInfo != null){
230
236
  return oidc.userInfo;
@@ -273,7 +279,10 @@ const setTokensAsync = async (serviceWorker, tokens) =>{
273
279
  accessTokenPayload = extractAccessTokenPayload(tokens);
274
280
  }
275
281
  const _idTokenPayload = idTokenPayload(tokens.idToken);
276
- const expiresAt = (_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
282
+
283
+ const idTokenExipreAt =(_idTokenPayload && _idTokenPayload.exp) ? _idTokenPayload.exp: Number.MAX_VALUE;
284
+ const accessTokenExpiresAt = (accessTokenPayload && accessTokenPayload.exp)? accessTokenPayload.exp : tokens.issuedAt + tokens.expiresIn;
285
+ const expiresAt = idTokenExipreAt < accessTokenExpiresAt ? idTokenExipreAt : accessTokenExpiresAt;
277
286
  return {...tokens, idTokenPayload: _idTokenPayload, accessTokenPayload, expiresAt};
278
287
  }
279
288
 
@@ -370,7 +379,7 @@ export class Oidc {
370
379
  constructor(configuration:OidcConfiguration, configurationName="default") {
371
380
  let silent_login_uri = configuration.silent_login_uri;
372
381
  if(configuration.silent_redirect_uri && !configuration.silent_login_uri){
373
- silent_login_uri = `${configuration.silent_redirect_uri.replace("-callback", "")}-login`;
382
+ silent_login_uri = `${configuration.silent_redirect_uri.replace("-callback", "").replace("callback", "")}-login`;
374
383
  }
375
384
 
376
385
  this.configuration = {...configuration, silent_login_uri};
@@ -519,7 +528,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
519
528
  self.publishEvent(eventNames.silentLoginAsync_error, result);
520
529
  iframe.remove();
521
530
  isResolved = true;
522
- reject(result);
531
+ reject(new Error("oidc"));
523
532
  }
524
533
  }
525
534
  }
@@ -528,10 +537,10 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
528
537
  const silentSigninTimeout = configuration.silent_login_timeout ?? 12000
529
538
  setTimeout(() => {
530
539
  if (!isResolved) {
531
- self.publishEvent(eventNames.silentLoginAsync_error, "timeout");
540
+ self.publishEvent(eventNames.silentLoginAsync_error, {reason: "timeout"});
532
541
  iframe.remove();
533
542
  isResolved = true;
534
- reject("timeout");
543
+ reject(new Error("timeout"));
535
544
  }
536
545
  }, silentSigninTimeout);
537
546
  } catch (e) {
@@ -590,7 +599,8 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
590
599
  expiresIn: tokens.expires_in,
591
600
  idToken: tokens.id_token,
592
601
  scope: tokens.scope,
593
- tokenType: tokens.token_type
602
+ tokenType: tokens.token_type,
603
+ issuedAt: tokens.issued_at
594
604
  }
595
605
  this.tokens = await setTokensAsync(serviceWorker, reformattedToken);
596
606
  this.serviceWorker = serviceWorker;
@@ -973,7 +983,7 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
973
983
  };
974
984
 
975
985
  let index = 0;
976
- while (index <=2) {
986
+ while (index <=4) {
977
987
  try {
978
988
  this.publishEvent(eventNames.refreshTokensAsync_begin, {refreshToken:refreshToken, tryNumber: index});
979
989
  if(index > 1) {
@@ -1001,55 +1011,75 @@ Please checkout that you are using OIDC hook inside a <OidcProvider configuratio
1001
1011
 
1002
1012
  syncTokensAsyncPromise=null;
1003
1013
  async syncTokensAsync() {
1004
- // Service Worker can be killed by the browser (when it wants,for example after 10 seconds of inactivity, so we retreieve the session if it happen)
1005
- const configuration = this.configuration;
1006
- if(!this.tokens){
1007
- return;
1008
- }
1009
-
1010
- const oidcServerConfiguration = await this.initAsync(configuration.authority, configuration.authority_configuration);
1011
- const serviceWorker = await initWorkerAsync(configuration.service_worker_relative_url, this.configurationName);
1012
- if (serviceWorker) {
1013
- const { isLogin } = await serviceWorker.initAsync(oidcServerConfiguration, "syncTokensAsync");
1014
- if(isLogin == false){
1015
- this.publishEvent(eventNames.logout_from_another_tab, {});
1016
- await this.destroyAsync();
1014
+
1015
+ const localSyncTokensAsync = async () => {
1016
+ // Service Worker can be killed by the browser (when it wants,for example after 10 seconds of inactivity, so we retreieve the session if it happen)
1017
+ const configuration = this.configuration;
1018
+ if (!this.tokens) {
1019
+ return null;
1017
1020
  }
1018
- else if (isLogin == null){
1019
- try {
1020
- this.publishEvent(eventNames.syncTokensAsync_begin, {});
1021
- this.syncTokensAsyncPromise = this.silentLoginAsync({prompt:"none"});
1022
- const silent_token_response = await this.syncTokensAsyncPromise;
1023
- if (silent_token_response && silent_token_response.tokens) {
1024
- this.tokens = await setTokensAsync(serviceWorker, silent_token_response.tokens);
1025
- } else{
1026
- this.publishEvent(eventNames.syncTokensAsync_error, {message:"no token found in result"});
1027
- if(this.timeoutId){
1021
+
1022
+ const oidcServerConfiguration = await this.initAsync(configuration.authority, configuration.authority_configuration);
1023
+ const serviceWorker = await initWorkerAsync(configuration.service_worker_relative_url, this.configurationName);
1024
+ if (serviceWorker) {
1025
+ const {isLogin} = await serviceWorker.initAsync(oidcServerConfiguration, "syncTokensAsync");
1026
+ if (isLogin == false) {
1027
+ this.publishEvent(eventNames.logout_from_another_tab, {});
1028
+ await this.destroyAsync();
1029
+ return null;
1030
+ } else if (isLogin == null) {
1031
+ try {
1032
+ this.publishEvent(eventNames.syncTokensAsync_begin, {});
1033
+ const silent_token_response = await this.silentLoginAsync({prompt: "none"});
1034
+ if (silent_token_response && silent_token_response.tokens) {
1035
+ this.tokens = await setTokensAsync(serviceWorker, silent_token_response.tokens);
1036
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1037
+ return this.tokens;
1038
+ } else {
1039
+ this.publishEvent(eventNames.syncTokensAsync_error, {message: "no token found in result"});
1040
+ if (this.timeoutId) {
1041
+ timer.clearTimeout(this.timeoutId);
1042
+ this.timeoutId = null;
1043
+ }
1044
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1045
+ return null;
1046
+ }
1047
+ } catch (exceptionSilent) {
1048
+ console.error(exceptionSilent);
1049
+ this.publishEvent(eventNames.syncTokensAsync_error, exceptionSilent);
1050
+ if (this.timeoutId) {
1028
1051
  timer.clearTimeout(this.timeoutId);
1029
- this.timeoutId=null;
1052
+ this.timeoutId = null;
1030
1053
  }
1031
- return;
1054
+ this.publishEvent(eventNames.syncTokensAsync_end, {});
1055
+ return null;
1032
1056
  }
1033
- } catch (exceptionSilent) {
1034
- console.error(exceptionSilent);
1035
- this.publishEvent(eventNames.syncTokensAsync_error, exceptionSilent);
1036
- if(this.timeoutId){
1037
- timer.clearTimeout(this.timeoutId);
1038
- this.timeoutId=null;
1039
- }
1040
- return;
1057
+
1058
+ }
1059
+ } else {
1060
+ const session = initSession(this.configurationName, configuration.redirect_uri, configuration.storage ?? sessionStorage);
1061
+ const {tokens} = await session.initAsync();
1062
+ if (!tokens) {
1063
+ this.publishEvent(eventNames.logout_from_another_tab, {});
1064
+ await this.destroyAsync();
1065
+ return null;
1041
1066
  }
1042
- this.syncTokensAsyncPromise = null;
1043
- this.publishEvent(eventNames.syncTokensAsync_end, {});
1044
- }
1045
- } else {
1046
- const session = initSession(this.configurationName, configuration.redirect_uri, configuration.storage ?? sessionStorage);
1047
- const {tokens} = await session.initAsync();
1048
- if(!tokens){
1049
- this.publishEvent(eventNames.logout_from_another_tab, {});
1050
- await this.destroyAsync();
1051
1067
  }
1068
+ return this.tokens;
1069
+ }
1070
+
1071
+ if(this.syncTokensAsyncPromise){
1072
+ return this.syncTokensAsyncPromise;
1052
1073
  }
1074
+
1075
+ this.syncTokensAsyncPromise = localSyncTokensAsync().then(result =>{
1076
+ if(this.syncTokensAsyncPromise){
1077
+ this.syncTokensAsyncPromise = null;
1078
+ }
1079
+ return result;
1080
+ });
1081
+
1082
+ return this.syncTokensAsyncPromise
1053
1083
  }
1054
1084
 
1055
1085