@aws-amplify/auth 4.5.9-auth-hotfix.4 → 4.5.9-unstable.3

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.
@@ -10727,8 +10727,6 @@ function () {
10727
10727
  this.userPool = null;
10728
10728
  this.user = null;
10729
10729
  this.oAuthFlowInProgress = false;
10730
- this.inflightSessionPromise = null;
10731
- this.inflightSession = false;
10732
10730
  this.Credentials = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Credentials"];
10733
10731
 
10734
10732
  this.wrapRefreshSessionCallback = function (callback) {
@@ -12356,12 +12354,12 @@ function () {
12356
12354
  return new Promise(function (res, rej) {
12357
12355
  _this._storageSync.then(function () {
12358
12356
  return __awaiter(_this, void 0, void 0, function () {
12359
- var user, session, bypassCache, clientMetadata, _a, scope, err_1;
12357
+ var user, clientMetadata;
12360
12358
 
12361
12359
  var _this = this;
12362
12360
 
12363
- return __generator(this, function (_b) {
12364
- switch (_b.label) {
12361
+ return __generator(this, function (_a) {
12362
+ switch (_a.label) {
12365
12363
  case 0:
12366
12364
  if (!this.isOAuthInProgress()) return [3
12367
12365
  /*break*/
@@ -12391,9 +12389,9 @@ function () {
12391
12389
  })];
12392
12390
 
12393
12391
  case 1:
12394
- _b.sent();
12392
+ _a.sent();
12395
12393
 
12396
- _b.label = 2;
12394
+ _a.label = 2;
12397
12395
 
12398
12396
  case 2:
12399
12397
  user = this.userPool.getCurrentUser();
@@ -12406,135 +12404,167 @@ function () {
12406
12404
  ];
12407
12405
  }
12408
12406
 
12409
- _b.label = 3;
12407
+ clientMetadata = this._config.clientMetadata; // refresh the session if the session expired.
12410
12408
 
12411
- case 3:
12412
- _b.trys.push([3, 7,, 8]);
12409
+ user.getSession(function (err, session) {
12410
+ return __awaiter(_this, void 0, void 0, function () {
12411
+ var cleanUpError_5, bypassCache, clientMetadata, _a, scope;
12413
12412
 
12414
- return [4
12415
- /*yield*/
12416
- , this._userSession({
12417
- user: user
12418
- })];
12413
+ var _this = this;
12419
12414
 
12420
- case 4:
12421
- session = _b.sent();
12422
- bypassCache = params ? params.bypassCache : false;
12423
- if (!bypassCache) return [3
12424
- /*break*/
12425
- , 6];
12426
- return [4
12427
- /*yield*/
12428
- , this.Credentials.clear()];
12415
+ return __generator(this, function (_b) {
12416
+ switch (_b.label) {
12417
+ case 0:
12418
+ if (!err) return [3
12419
+ /*break*/
12420
+ , 5];
12421
+ logger.debug('Failed to get the user session', err);
12422
+ if (!this.isSessionInvalid(err)) return [3
12423
+ /*break*/
12424
+ , 4];
12425
+ _b.label = 1;
12429
12426
 
12430
- case 5:
12431
- _b.sent();
12427
+ case 1:
12428
+ _b.trys.push([1, 3,, 4]);
12432
12429
 
12433
- _b.label = 6;
12430
+ return [4
12431
+ /*yield*/
12432
+ , this.cleanUpInvalidSession(user)];
12434
12433
 
12435
- case 6:
12436
- clientMetadata = this._config.clientMetadata;
12437
- _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;
12438
-
12439
- if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {
12440
- user.getUserData(function (err, data) {
12441
- return __awaiter(_this, void 0, void 0, function () {
12442
- var cleanUpError_5, preferredMFA, attributeList, i, attribute, userAttribute, attributes;
12443
- return __generator(this, function (_a) {
12444
- switch (_a.label) {
12445
- case 0:
12446
- if (!err) return [3
12447
- /*break*/
12448
- , 7];
12449
- logger.debug('getting user data failed', err);
12450
- if (!this.isSessionInvalid(err)) return [3
12451
- /*break*/
12452
- , 5];
12453
- _a.label = 1;
12454
-
12455
- case 1:
12456
- _a.trys.push([1, 3,, 4]);
12457
-
12458
- return [4
12459
- /*yield*/
12460
- , this.cleanUpInvalidSession(user)];
12461
-
12462
- case 2:
12463
- _a.sent();
12464
-
12465
- return [3
12466
- /*break*/
12467
- , 4];
12468
-
12469
- case 3:
12470
- cleanUpError_5 = _a.sent();
12471
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_5.message));
12472
- return [2
12473
- /*return*/
12474
- ];
12434
+ case 2:
12435
+ _b.sent();
12475
12436
 
12476
- case 4:
12477
- rej(err);
12478
- return [3
12479
- /*break*/
12480
- , 6];
12437
+ return [3
12438
+ /*break*/
12439
+ , 4];
12481
12440
 
12482
- case 5:
12483
- res(user);
12484
- _a.label = 6;
12441
+ case 3:
12442
+ cleanUpError_5 = _b.sent();
12443
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_5.message));
12444
+ return [2
12445
+ /*return*/
12446
+ ];
12485
12447
 
12486
- case 6:
12487
- return [2
12488
- /*return*/
12489
- ];
12490
-
12491
- case 7:
12492
- preferredMFA = data.PreferredMfaSetting || 'NOMFA';
12493
- attributeList = [];
12494
-
12495
- for (i = 0; i < data.UserAttributes.length; i++) {
12496
- attribute = {
12497
- Name: data.UserAttributes[i].Name,
12498
- Value: data.UserAttributes[i].Value
12499
- };
12500
- userAttribute = new amazon_cognito_identity_js__WEBPACK_IMPORTED_MODULE_2__["CognitoUserAttribute"](attribute);
12501
- attributeList.push(userAttribute);
12502
- }
12448
+ case 4:
12449
+ rej(err);
12450
+ return [2
12451
+ /*return*/
12452
+ ];
12503
12453
 
12504
- attributes = this.attributesToObject(attributeList);
12505
- Object.assign(user, {
12506
- attributes: attributes,
12507
- preferredMFA: preferredMFA
12454
+ case 5:
12455
+ bypassCache = params ? params.bypassCache : false;
12456
+ if (!bypassCache) return [3
12457
+ /*break*/
12458
+ , 7];
12459
+ return [4
12460
+ /*yield*/
12461
+ , this.Credentials.clear()];
12462
+
12463
+ case 6:
12464
+ _b.sent();
12465
+
12466
+ _b.label = 7;
12467
+
12468
+ case 7:
12469
+ clientMetadata = this._config.clientMetadata;
12470
+ _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;
12471
+
12472
+ if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {
12473
+ user.getUserData(function (err, data) {
12474
+ return __awaiter(_this, void 0, void 0, function () {
12475
+ var cleanUpError_6, preferredMFA, attributeList, i, attribute, userAttribute, attributes;
12476
+ return __generator(this, function (_a) {
12477
+ switch (_a.label) {
12478
+ case 0:
12479
+ if (!err) return [3
12480
+ /*break*/
12481
+ , 7];
12482
+ logger.debug('getting user data failed', err);
12483
+ if (!this.isSessionInvalid(err)) return [3
12484
+ /*break*/
12485
+ , 5];
12486
+ _a.label = 1;
12487
+
12488
+ case 1:
12489
+ _a.trys.push([1, 3,, 4]);
12490
+
12491
+ return [4
12492
+ /*yield*/
12493
+ , this.cleanUpInvalidSession(user)];
12494
+
12495
+ case 2:
12496
+ _a.sent();
12497
+
12498
+ return [3
12499
+ /*break*/
12500
+ , 4];
12501
+
12502
+ case 3:
12503
+ cleanUpError_6 = _a.sent();
12504
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_6.message));
12505
+ return [2
12506
+ /*return*/
12507
+ ];
12508
+
12509
+ case 4:
12510
+ rej(err);
12511
+ return [3
12512
+ /*break*/
12513
+ , 6];
12514
+
12515
+ case 5:
12516
+ res(user);
12517
+ _a.label = 6;
12518
+
12519
+ case 6:
12520
+ return [2
12521
+ /*return*/
12522
+ ];
12523
+
12524
+ case 7:
12525
+ preferredMFA = data.PreferredMfaSetting || 'NOMFA';
12526
+ attributeList = [];
12527
+
12528
+ for (i = 0; i < data.UserAttributes.length; i++) {
12529
+ attribute = {
12530
+ Name: data.UserAttributes[i].Name,
12531
+ Value: data.UserAttributes[i].Value
12532
+ };
12533
+ userAttribute = new amazon_cognito_identity_js__WEBPACK_IMPORTED_MODULE_2__["CognitoUserAttribute"](attribute);
12534
+ attributeList.push(userAttribute);
12535
+ }
12536
+
12537
+ attributes = this.attributesToObject(attributeList);
12538
+ Object.assign(user, {
12539
+ attributes: attributes,
12540
+ preferredMFA: preferredMFA
12541
+ });
12542
+ return [2
12543
+ /*return*/
12544
+ , res(user)];
12545
+ }
12546
+ });
12547
+ });
12548
+ }, {
12549
+ bypassCache: bypassCache,
12550
+ clientMetadata: clientMetadata
12508
12551
  });
12552
+ } else {
12553
+ logger.debug("Unable to get the user data because the " + USER_ADMIN_SCOPE + " " + "is not in the scopes of the access token");
12509
12554
  return [2
12510
12555
  /*return*/
12511
12556
  , res(user)];
12512
- }
12513
- });
12557
+ }
12558
+
12559
+ return [2
12560
+ /*return*/
12561
+ ];
12562
+ }
12514
12563
  });
12515
- }, {
12516
- bypassCache: bypassCache,
12517
- clientMetadata: clientMetadata
12518
12564
  });
12519
- } else {
12520
- logger.debug("Unable to get the user data because the " + USER_ADMIN_SCOPE + " " + "is not in the scopes of the access token");
12521
- return [2
12522
- /*return*/
12523
- , res(user)];
12524
- }
12525
-
12526
- return [3
12527
- /*break*/
12528
- , 8];
12529
-
12530
- case 7:
12531
- err_1 = _b.sent();
12532
- rej(err_1);
12533
- return [3
12534
- /*break*/
12535
- , 8];
12536
-
12537
- case 8:
12565
+ }, {
12566
+ clientMetadata: clientMetadata
12567
+ });
12538
12568
  return [2
12539
12569
  /*return*/
12540
12570
  ];
@@ -12679,13 +12709,15 @@ function () {
12679
12709
  });
12680
12710
  });
12681
12711
  };
12712
+ /**
12713
+ * Get the corresponding user session
12714
+ * @param {Object} user - The CognitoUser object
12715
+ * @return - A promise resolves to the session
12716
+ */
12682
12717
 
12683
- AuthClass.prototype._userSession = function (_a) {
12684
- var _this = this;
12685
12718
 
12686
- var user = _a.user,
12687
- _b = _a.bypassCache,
12688
- bypassCache = _b === void 0 ? false : _b;
12719
+ AuthClass.prototype.userSession = function (user) {
12720
+ var _this = this;
12689
12721
 
12690
12722
  if (!user) {
12691
12723
  logger.debug('the user is null');
@@ -12694,136 +12726,62 @@ function () {
12694
12726
 
12695
12727
  var clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn
12696
12728
 
12697
- return new Promise(function (resolve, rej) {
12698
- return __awaiter(_this, void 0, void 0, function () {
12699
- var debounceResolver;
12700
-
12701
- var _this = this;
12702
-
12703
- return __generator(this, function (_a) {
12704
- switch (_a.label) {
12705
- case 0:
12706
- // debugger;
12707
- logger.debug('Getting the session from this user:', user);
12708
- if (!this.inflightSession) return [3
12709
- /*break*/
12710
- , 2];
12711
- logger.debug('Waiting for another userSession call:');
12712
- return [4
12713
- /*yield*/
12714
- , this.inflightSessionPromise];
12715
-
12716
- case 1:
12717
- _a.sent();
12718
-
12719
- logger.debug('Debouncer resolved');
12720
- return [3
12721
- /*break*/
12722
- , 3];
12723
-
12724
- case 2:
12725
- logger.debug('Debouncer head');
12726
- this.inflightSession = true;
12727
- this.inflightSessionPromise = new Promise(function (res) {
12728
- debounceResolver = function debounceResolver() {
12729
- logger.debug('Debouncer resolving');
12730
- _this.inflightSessionPromise = null;
12731
- _this.inflightSession = false;
12732
- res();
12733
- };
12734
- });
12735
- _a.label = 3;
12736
-
12737
- case 3:
12738
- user.getSession(function (err, session) {
12739
- return __awaiter(_this, void 0, void 0, function () {
12740
- var cleanUpError_6;
12741
- return __generator(this, function (_a) {
12742
- switch (_a.label) {
12743
- case 0:
12744
- if (!err) return [3
12745
- /*break*/
12746
- , 5];
12747
- logger.debug('Failed to get the session from user', user);
12748
- if (!this.isSessionInvalid(err)) return [3
12749
- /*break*/
12750
- , 4];
12751
- _a.label = 1;
12752
-
12753
- case 1:
12754
- _a.trys.push([1, 3,, 4]);
12755
-
12756
- return [4
12757
- /*yield*/
12758
- , this.cleanUpInvalidSession(user)];
12759
-
12760
- case 2:
12761
- _a.sent();
12762
-
12763
- return [3
12764
- /*break*/
12765
- , 4];
12766
-
12767
- case 3:
12768
- cleanUpError_6 = _a.sent();
12769
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_6.message));
12770
-
12771
- if (debounceResolver) {
12772
- debounceResolver();
12773
- }
12774
-
12775
- return [2
12776
- /*return*/
12777
- ];
12778
-
12779
- case 4:
12780
- rej(err);
12781
-
12782
- if (debounceResolver) {
12783
- debounceResolver();
12784
- }
12785
-
12786
- return [2
12787
- /*return*/
12788
- ];
12789
-
12790
- case 5:
12791
- logger.debug('Succeed to get the user session', session);
12792
- resolve(session);
12793
-
12794
- if (debounceResolver) {
12795
- debounceResolver();
12796
- }
12797
-
12798
- return [2
12799
- /*return*/
12800
- ];
12801
- }
12802
- });
12803
- });
12804
- }, {
12805
- clientMetadata: clientMetadata,
12806
- bypassCache: bypassCache
12807
- });
12808
- return [2
12809
- /*return*/
12810
- ];
12811
- }
12812
- });
12813
- });
12814
- });
12815
- };
12816
- /**
12817
- * Get the corresponding user session
12818
- * @param {Object} user - The CognitoUser object
12819
- * @return - A promise resolves to the session
12820
- */
12729
+ return new Promise(function (res, rej) {
12730
+ logger.debug('Getting the session from this user:', user);
12731
+ user.getSession(function (err, session) {
12732
+ return __awaiter(_this, void 0, void 0, function () {
12733
+ var cleanUpError_7;
12734
+ return __generator(this, function (_a) {
12735
+ switch (_a.label) {
12736
+ case 0:
12737
+ if (!err) return [3
12738
+ /*break*/
12739
+ , 5];
12740
+ logger.debug('Failed to get the session from user', user);
12741
+ if (!this.isSessionInvalid(err)) return [3
12742
+ /*break*/
12743
+ , 4];
12744
+ _a.label = 1;
12821
12745
 
12746
+ case 1:
12747
+ _a.trys.push([1, 3,, 4]);
12822
12748
 
12823
- AuthClass.prototype.userSession = function (user) {
12824
- return this._userSession({
12825
- user: user,
12826
- bypassCache: false
12749
+ return [4
12750
+ /*yield*/
12751
+ , this.cleanUpInvalidSession(user)];
12752
+
12753
+ case 2:
12754
+ _a.sent();
12755
+
12756
+ return [3
12757
+ /*break*/
12758
+ , 4];
12759
+
12760
+ case 3:
12761
+ cleanUpError_7 = _a.sent();
12762
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_7.message));
12763
+ return [2
12764
+ /*return*/
12765
+ ];
12766
+
12767
+ case 4:
12768
+ rej(err);
12769
+ return [2
12770
+ /*return*/
12771
+ ];
12772
+
12773
+ case 5:
12774
+ logger.debug('Succeed to get the user session', session);
12775
+ res(session);
12776
+ return [2
12777
+ /*return*/
12778
+ ];
12779
+ }
12780
+ });
12781
+ });
12782
+ }, {
12783
+ clientMetadata: clientMetadata
12784
+ });
12827
12785
  });
12828
12786
  };
12829
12787
  /**
@@ -13014,7 +12972,7 @@ function () {
13014
12972
 
13015
12973
  user.getSession(function (err, result) {
13016
12974
  return __awaiter(_this, void 0, void 0, function () {
13017
- var cleanUpError_7;
12975
+ var cleanUpError_8;
13018
12976
 
13019
12977
  var _this = this;
13020
12978
 
@@ -13045,8 +13003,8 @@ function () {
13045
13003
  , 4];
13046
13004
 
13047
13005
  case 3:
13048
- cleanUpError_7 = _a.sent();
13049
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_7.message));
13006
+ cleanUpError_8 = _a.sent();
13007
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_8.message));
13050
13008
  return [2
13051
13009
  /*return*/
13052
13010
  ];
@@ -13098,7 +13056,7 @@ function () {
13098
13056
  };
13099
13057
 
13100
13058
  AuthClass.prototype.oAuthSignOutRedirect = function (resolve, reject) {
13101
- var isBrowser = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["JS"].browserOrNode().isBrowser;
13059
+ var isBrowser = Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["browserOrNode"])().isBrowser;
13102
13060
 
13103
13061
  if (isBrowser) {
13104
13062
  this.oAuthSignOutRedirectOrReject(reject);
@@ -13350,7 +13308,7 @@ function () {
13350
13308
 
13351
13309
  AuthClass.prototype.currentUserInfo = function () {
13352
13310
  return __awaiter(this, void 0, void 0, function () {
13353
- var source, user, attributes, userAttrs, credentials, e_12, info, err_2, user;
13311
+ var source, user, attributes, userAttrs, credentials, e_12, info, err_1, user;
13354
13312
  return __generator(this, function (_a) {
13355
13313
  switch (_a.label) {
13356
13314
  case 0:
@@ -13419,8 +13377,8 @@ function () {
13419
13377
  , info];
13420
13378
 
13421
13379
  case 8:
13422
- err_2 = _a.sent();
13423
- logger.error('currentUserInfo error', err_2);
13380
+ err_1 = _a.sent();
13381
+ logger.error('currentUserInfo error', err_1);
13424
13382
  return [2
13425
13383
  /*return*/
13426
13384
  , {}];
@@ -13530,7 +13488,7 @@ function () {
13530
13488
 
13531
13489
  AuthClass.prototype._handleAuthResponse = function (URL) {
13532
13490
  return __awaiter(this, void 0, void 0, function () {
13533
- var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_3;
13491
+ var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_2;
13534
13492
 
13535
13493
  return __generator(this, function (_b) {
13536
13494
  switch (_b.label) {
@@ -13556,7 +13514,7 @@ function () {
13556
13514
  dispatchAuthEvent('parsingCallbackUrl', {
13557
13515
  url: URL
13558
13516
  }, "The callback url is being parsed");
13559
- currentUrl = URL || (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["JS"].browserOrNode().isBrowser ? window.location.href : '');
13517
+ currentUrl = URL || (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["browserOrNode"])().isBrowser ? window.location.href : '');
13560
13518
  hasCodeOrError = !!(Object(url__WEBPACK_IMPORTED_MODULE_3__["parse"])(currentUrl).query || '').split('&').map(function (entry) {
13561
13519
  return entry.split('=');
13562
13520
  }).find(function (_a) {
@@ -13638,17 +13596,17 @@ function () {
13638
13596
  , credentials];
13639
13597
 
13640
13598
  case 6:
13641
- err_3 = _b.sent();
13642
- logger.debug('Error in cognito hosted auth response', err_3); // Just like a successful handling of `?code`, replace the window history to "dispose" of the `code`.
13599
+ err_2 = _b.sent();
13600
+ logger.debug('Error in cognito hosted auth response', err_2); // Just like a successful handling of `?code`, replace the window history to "dispose" of the `code`.
13643
13601
  // Otherwise, reloading the page will throw errors as the `code` has already been spent.
13644
13602
 
13645
13603
  if (window && typeof window.history !== 'undefined') {
13646
13604
  window.history.replaceState({}, null, this._config.oauth.redirectSignIn);
13647
13605
  }
13648
13606
 
13649
- dispatchAuthEvent('signIn_failure', err_3, "The OAuth response flow failed");
13650
- dispatchAuthEvent('cognitoHostedUI_failure', err_3, "A failure occurred when returning to the Cognito Hosted UI");
13651
- dispatchAuthEvent('customState_failure', err_3, "A failure occurred when returning state");
13607
+ dispatchAuthEvent('signIn_failure', err_2, "The OAuth response flow failed");
13608
+ dispatchAuthEvent('cognitoHostedUI_failure', err_2, "A failure occurred when returning to the Cognito Hosted UI");
13609
+ dispatchAuthEvent('customState_failure', err_2, "A failure occurred when returning state");
13652
13610
  return [3
13653
13611
  /*break*/
13654
13612
  , 7];
@@ -15012,12 +14970,12 @@ __webpack_require__.r(__webpack_exports__);
15012
14970
  */
15013
14971
 
15014
14972
  /* harmony default export */ __webpack_exports__["default"] = (function (callback) {
15015
- if (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["JS"].browserOrNode().isBrowser && window.location) {
14973
+ if (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["browserOrNode"])().isBrowser && window.location) {
15016
14974
  var url = window.location.href;
15017
14975
  callback({
15018
14976
  url: url
15019
14977
  });
15020
- } else if (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["JS"].browserOrNode().isNode) {
14978
+ } else if (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["browserOrNode"])().isNode) {
15021
14979
  // continue building on ssr
15022
14980
  (function () {}); // noop
15023
14981