@aws-amplify/datastore 3.7.8-unstable.3 → 3.7.8-unstable.5

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.
@@ -61185,21 +61185,68 @@ function () {
61185
61185
 
61186
61186
  var bypassCache = params ? params.bypassCache : false;
61187
61187
  user.getUserData(function (err, data) {
61188
- if (err) {
61189
- logger.debug('getting preferred mfa failed', err);
61190
- rej(err);
61191
- return;
61192
- }
61188
+ return __awaiter(_this, void 0, void 0, function () {
61189
+ var cleanUpError_1, mfaType;
61190
+ return __generator(this, function (_a) {
61191
+ switch (_a.label) {
61192
+ case 0:
61193
+ if (!err) return [3
61194
+ /*break*/
61195
+ , 5];
61196
+ logger.debug('getting preferred mfa failed', err);
61197
+ if (!this.isSessionInvalid(err)) return [3
61198
+ /*break*/
61199
+ , 4];
61200
+ _a.label = 1;
61193
61201
 
61194
- var mfaType = that._getMfaTypeFromUserData(data);
61202
+ case 1:
61203
+ _a.trys.push([1, 3,, 4]);
61195
61204
 
61196
- if (!mfaType) {
61197
- rej('invalid MFA Type');
61198
- return;
61199
- } else {
61200
- res(mfaType);
61201
- return;
61202
- }
61205
+ return [4
61206
+ /*yield*/
61207
+ , this.cleanUpInvalidSession(user)];
61208
+
61209
+ case 2:
61210
+ _a.sent();
61211
+
61212
+ return [3
61213
+ /*break*/
61214
+ , 4];
61215
+
61216
+ case 3:
61217
+ cleanUpError_1 = _a.sent();
61218
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_1.message));
61219
+ return [2
61220
+ /*return*/
61221
+ ];
61222
+
61223
+ case 4:
61224
+ rej(err);
61225
+ return [2
61226
+ /*return*/
61227
+ ];
61228
+
61229
+ case 5:
61230
+ mfaType = that._getMfaTypeFromUserData(data);
61231
+
61232
+ if (!mfaType) {
61233
+ rej('invalid MFA Type');
61234
+ return [2
61235
+ /*return*/
61236
+ ];
61237
+ } else {
61238
+ res(mfaType);
61239
+ return [2
61240
+ /*return*/
61241
+ ];
61242
+ }
61243
+
61244
+ return [2
61245
+ /*return*/
61246
+ ];
61247
+ }
61248
+ });
61249
+ });
61203
61250
  }, {
61204
61251
  bypassCache: bypassCache,
61205
61252
  clientMetadata: clientMetadata
@@ -61241,16 +61288,62 @@ function () {
61241
61288
  };
61242
61289
 
61243
61290
  AuthClass.prototype._getUserData = function (user, params) {
61291
+ var _this = this;
61292
+
61244
61293
  return new Promise(function (res, rej) {
61245
61294
  user.getUserData(function (err, data) {
61246
- if (err) {
61247
- logger.debug('getting user data failed', err);
61248
- rej(err);
61249
- return;
61250
- } else {
61251
- res(data);
61252
- return;
61253
- }
61295
+ return __awaiter(_this, void 0, void 0, function () {
61296
+ var cleanUpError_2;
61297
+ return __generator(this, function (_a) {
61298
+ switch (_a.label) {
61299
+ case 0:
61300
+ if (!err) return [3
61301
+ /*break*/
61302
+ , 5];
61303
+ logger.debug('getting user data failed', err);
61304
+ if (!this.isSessionInvalid(err)) return [3
61305
+ /*break*/
61306
+ , 4];
61307
+ _a.label = 1;
61308
+
61309
+ case 1:
61310
+ _a.trys.push([1, 3,, 4]);
61311
+
61312
+ return [4
61313
+ /*yield*/
61314
+ , this.cleanUpInvalidSession(user)];
61315
+
61316
+ case 2:
61317
+ _a.sent();
61318
+
61319
+ return [3
61320
+ /*break*/
61321
+ , 4];
61322
+
61323
+ case 3:
61324
+ cleanUpError_2 = _a.sent();
61325
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_2.message));
61326
+ return [2
61327
+ /*return*/
61328
+ ];
61329
+
61330
+ case 4:
61331
+ rej(err);
61332
+ return [2
61333
+ /*return*/
61334
+ ];
61335
+
61336
+ case 5:
61337
+ res(data);
61338
+ _a.label = 6;
61339
+
61340
+ case 6:
61341
+ return [2
61342
+ /*return*/
61343
+ ];
61344
+ }
61345
+ });
61346
+ });
61254
61347
  }, params);
61255
61348
  });
61256
61349
  };
@@ -61266,6 +61359,8 @@ function () {
61266
61359
  return __awaiter(this, void 0, void 0, function () {
61267
61360
  var clientMetadata, userData, smsMfaSettings, totpMfaSettings, _a, mfaList, currentMFAType, that;
61268
61361
 
61362
+ var _this = this;
61363
+
61269
61364
  return __generator(this, function (_b) {
61270
61365
  switch (_b.label) {
61271
61366
  case 0:
@@ -61405,12 +61500,53 @@ function () {
61405
61500
  logger.debug('Caching the latest user data into local'); // cache the latest result into user data
61406
61501
 
61407
61502
  user.getUserData(function (err, data) {
61408
- if (err) {
61409
- logger.debug('getting user data failed', err);
61410
- return rej(err);
61411
- } else {
61412
- return res(result);
61413
- }
61503
+ return __awaiter(_this, void 0, void 0, function () {
61504
+ var cleanUpError_3;
61505
+ return __generator(this, function (_a) {
61506
+ switch (_a.label) {
61507
+ case 0:
61508
+ if (!err) return [3
61509
+ /*break*/
61510
+ , 5];
61511
+ logger.debug('getting user data failed', err);
61512
+ if (!this.isSessionInvalid(err)) return [3
61513
+ /*break*/
61514
+ , 4];
61515
+ _a.label = 1;
61516
+
61517
+ case 1:
61518
+ _a.trys.push([1, 3,, 4]);
61519
+
61520
+ return [4
61521
+ /*yield*/
61522
+ , this.cleanUpInvalidSession(user)];
61523
+
61524
+ case 2:
61525
+ _a.sent();
61526
+
61527
+ return [3
61528
+ /*break*/
61529
+ , 4];
61530
+
61531
+ case 3:
61532
+ cleanUpError_3 = _a.sent();
61533
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_3.message));
61534
+ return [2
61535
+ /*return*/
61536
+ ];
61537
+
61538
+ case 4:
61539
+ return [2
61540
+ /*return*/
61541
+ , rej(err)];
61542
+
61543
+ case 5:
61544
+ return [2
61545
+ /*return*/
61546
+ , res(result)];
61547
+ }
61548
+ });
61549
+ });
61414
61550
  }, {
61415
61551
  bypassCache: true,
61416
61552
  clientMetadata: clientMetadata
@@ -61747,7 +61883,7 @@ function () {
61747
61883
  * Delete the current authenticated user
61748
61884
  * @return {Promise}
61749
61885
  **/
61750
- //TODO: Check return type void
61886
+ // TODO: Check return type void
61751
61887
 
61752
61888
 
61753
61889
  AuthClass.prototype.deleteUser = function () {
@@ -61799,44 +61935,80 @@ function () {
61799
61935
  } else {
61800
61936
  user_1.getSession(function (err, session) {
61801
61937
  return __awaiter(_this, void 0, void 0, function () {
61938
+ var cleanUpError_4;
61939
+
61802
61940
  var _this = this;
61803
61941
 
61804
61942
  return __generator(this, function (_a) {
61805
- if (err) {
61806
- logger.debug('Failed to get the user session', err);
61807
- return [2
61808
- /*return*/
61809
- , rej(err)];
61810
- } else {
61811
- user_1.deleteUser(function (err, result) {
61812
- if (err) {
61813
- rej(err);
61814
- } else {
61815
- dispatchAuthEvent('userDeleted', result, 'The authenticated user has been deleted.');
61816
- user_1.signOut();
61817
- _this.user = null;
61818
-
61819
- try {
61820
- _this.cleanCachedItems(); // clean aws credentials
61821
-
61822
- } catch (e) {
61823
- // TODO: change to rejects in refactor
61824
- logger.debug('failed to clear cached items');
61825
- }
61943
+ switch (_a.label) {
61944
+ case 0:
61945
+ if (!err) return [3
61946
+ /*break*/
61947
+ , 5];
61948
+ logger.debug('Failed to get the user session', err);
61949
+ if (!this.isSessionInvalid(err)) return [3
61950
+ /*break*/
61951
+ , 4];
61952
+ _a.label = 1;
61953
+
61954
+ case 1:
61955
+ _a.trys.push([1, 3,, 4]);
61956
+
61957
+ return [4
61958
+ /*yield*/
61959
+ , this.cleanUpInvalidSession(user_1)];
61960
+
61961
+ case 2:
61962
+ _a.sent();
61826
61963
 
61827
- if (isSignedInHostedUI) {
61828
- _this.oAuthSignOutRedirect(res, rej);
61964
+ return [3
61965
+ /*break*/
61966
+ , 4];
61967
+
61968
+ case 3:
61969
+ cleanUpError_4 = _a.sent();
61970
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_4.message));
61971
+ return [2
61972
+ /*return*/
61973
+ ];
61974
+
61975
+ case 4:
61976
+ return [2
61977
+ /*return*/
61978
+ , rej(err)];
61979
+
61980
+ case 5:
61981
+ user_1.deleteUser(function (err, result) {
61982
+ if (err) {
61983
+ rej(err);
61829
61984
  } else {
61830
- dispatchAuthEvent('signOut', _this.user, "A user has been signed out");
61831
- res(result);
61985
+ dispatchAuthEvent('userDeleted', result, 'The authenticated user has been deleted.');
61986
+ user_1.signOut();
61987
+ _this.user = null;
61988
+
61989
+ try {
61990
+ _this.cleanCachedItems(); // clean aws credentials
61991
+
61992
+ } catch (e) {
61993
+ // TODO: change to rejects in refactor
61994
+ logger.debug('failed to clear cached items');
61995
+ }
61996
+
61997
+ if (isSignedInHostedUI) {
61998
+ _this.oAuthSignOutRedirect(res, rej);
61999
+ } else {
62000
+ dispatchAuthEvent('signOut', _this.user, "A user has been signed out");
62001
+ res(result);
62002
+ }
61832
62003
  }
61833
- }
61834
- });
61835
- }
62004
+ });
62005
+ _a.label = 6;
61836
62006
 
61837
- return [2
61838
- /*return*/
61839
- ];
62007
+ case 6:
62008
+ return [2
62009
+ /*return*/
62010
+ ];
62011
+ }
61840
62012
  });
61841
62013
  });
61842
62014
  });
@@ -61944,6 +62116,93 @@ function () {
61944
62116
  };
61945
62117
  });
61946
62118
  };
62119
+
62120
+ AuthClass.prototype.isErrorWithMessage = function (err) {
62121
+ return _typeof(err) === 'object' && Object.prototype.hasOwnProperty.call(err, 'message');
62122
+ }; // Session revoked by another app
62123
+
62124
+
62125
+ AuthClass.prototype.isTokenRevokedError = function (err) {
62126
+ return this.isErrorWithMessage(err) && err.message === 'Access Token has been revoked';
62127
+ };
62128
+
62129
+ AuthClass.prototype.isRefreshTokenRevokedError = function (err) {
62130
+ return this.isErrorWithMessage(err) && err.message === 'Refresh Token has been revoked';
62131
+ };
62132
+
62133
+ AuthClass.prototype.isUserDisabledError = function (err) {
62134
+ return this.isErrorWithMessage(err) && err.message === 'User is disabled.';
62135
+ };
62136
+
62137
+ AuthClass.prototype.isUserDoesNotExistError = function (err) {
62138
+ return this.isErrorWithMessage(err) && err.message === 'User does not exist.';
62139
+ };
62140
+
62141
+ AuthClass.prototype.isRefreshTokenExpiredError = function (err) {
62142
+ return this.isErrorWithMessage(err) && err.message === 'Refresh Token has expired';
62143
+ };
62144
+
62145
+ AuthClass.prototype.isSignedInHostedUI = function () {
62146
+ return this._oAuthHandler && this._storage.getItem('amplify-signin-with-hostedUI') === 'true';
62147
+ };
62148
+
62149
+ AuthClass.prototype.isSessionInvalid = function (err) {
62150
+ return this.isUserDisabledError(err) || this.isUserDoesNotExistError(err) || this.isTokenRevokedError(err) || this.isRefreshTokenRevokedError(err) || this.isRefreshTokenExpiredError(err);
62151
+ };
62152
+
62153
+ AuthClass.prototype.cleanUpInvalidSession = function (user) {
62154
+ return __awaiter(this, void 0, void 0, function () {
62155
+ var e_6;
62156
+
62157
+ var _this = this;
62158
+
62159
+ return __generator(this, function (_a) {
62160
+ switch (_a.label) {
62161
+ case 0:
62162
+ user.signOut();
62163
+ this.user = null;
62164
+ _a.label = 1;
62165
+
62166
+ case 1:
62167
+ _a.trys.push([1, 3,, 4]);
62168
+
62169
+ return [4
62170
+ /*yield*/
62171
+ , this.cleanCachedItems()];
62172
+
62173
+ case 2:
62174
+ _a.sent(); // clean aws credentials
62175
+
62176
+
62177
+ return [3
62178
+ /*break*/
62179
+ , 4];
62180
+
62181
+ case 3:
62182
+ e_6 = _a.sent();
62183
+ logger.debug('failed to clear cached items');
62184
+ return [3
62185
+ /*break*/
62186
+ , 4];
62187
+
62188
+ case 4:
62189
+ if (this.isSignedInHostedUI()) {
62190
+ return [2
62191
+ /*return*/
62192
+ , new Promise(function (res, rej) {
62193
+ _this.oAuthSignOutRedirect(res, rej);
62194
+ })];
62195
+ } else {
62196
+ dispatchAuthEvent('signOut', this.user, "A user has been signed out");
62197
+ }
62198
+
62199
+ return [2
62200
+ /*return*/
62201
+ ];
62202
+ }
62203
+ });
62204
+ });
62205
+ };
61947
62206
  /**
61948
62207
  * Get current authenticated user
61949
62208
  * @return - A promise resolves to current authenticated CognitoUser if success
@@ -62014,74 +62273,143 @@ function () {
62014
62273
 
62015
62274
  user.getSession(function (err, session) {
62016
62275
  return __awaiter(_this, void 0, void 0, function () {
62017
- var bypassCache, clientMetadata, _a, scope;
62276
+ var cleanUpError_5, bypassCache, clientMetadata, _a, scope;
62018
62277
 
62019
62278
  var _this = this;
62020
62279
 
62021
62280
  return __generator(this, function (_b) {
62022
62281
  switch (_b.label) {
62023
62282
  case 0:
62024
- if (err) {
62025
- logger.debug('Failed to get the user session', err);
62026
- rej(err);
62027
- return [2
62028
- /*return*/
62029
- ];
62030
- }
62283
+ if (!err) return [3
62284
+ /*break*/
62285
+ , 5];
62286
+ logger.debug('Failed to get the user session', err);
62287
+ if (!this.isSessionInvalid(err)) return [3
62288
+ /*break*/
62289
+ , 4];
62290
+ _b.label = 1;
62291
+
62292
+ case 1:
62293
+ _b.trys.push([1, 3,, 4]);
62294
+
62295
+ return [4
62296
+ /*yield*/
62297
+ , this.cleanUpInvalidSession(user)];
62298
+
62299
+ case 2:
62300
+ _b.sent();
62301
+
62302
+ return [3
62303
+ /*break*/
62304
+ , 4];
62305
+
62306
+ case 3:
62307
+ cleanUpError_5 = _b.sent();
62308
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_5.message));
62309
+ return [2
62310
+ /*return*/
62311
+ ];
62312
+
62313
+ case 4:
62314
+ rej(err);
62315
+ return [2
62316
+ /*return*/
62317
+ ];
62031
62318
 
62319
+ case 5:
62032
62320
  bypassCache = params ? params.bypassCache : false;
62033
62321
  if (!bypassCache) return [3
62034
62322
  /*break*/
62035
- , 2];
62323
+ , 7];
62036
62324
  return [4
62037
62325
  /*yield*/
62038
62326
  , this.Credentials.clear()];
62039
62327
 
62040
- case 1:
62328
+ case 6:
62041
62329
  _b.sent();
62042
62330
 
62043
- _b.label = 2;
62331
+ _b.label = 7;
62044
62332
 
62045
- case 2:
62333
+ case 7:
62046
62334
  clientMetadata = this._config.clientMetadata;
62047
62335
  _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;
62048
62336
 
62049
62337
  if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {
62050
62338
  user.getUserData(function (err, data) {
62051
- if (err) {
62052
- logger.debug('getting user data failed', err); // Make sure the user is still valid
62053
-
62054
- if (err.message === 'User is disabled.' || err.message === 'User does not exist.' || err.message === 'Access Token has been revoked' // Session revoked by another app
62055
- ) {
62056
- rej(err);
62057
- } else {
62058
- // the error may also be thrown when lack of permissions to get user info etc
62059
- // in that case we just bypass the error
62060
- res(user);
62061
- }
62339
+ return __awaiter(_this, void 0, void 0, function () {
62340
+ var cleanUpError_6, preferredMFA, attributeList, i, attribute, userAttribute, attributes;
62341
+ return __generator(this, function (_a) {
62342
+ switch (_a.label) {
62343
+ case 0:
62344
+ if (!err) return [3
62345
+ /*break*/
62346
+ , 7];
62347
+ logger.debug('getting user data failed', err);
62348
+ if (!this.isSessionInvalid(err)) return [3
62349
+ /*break*/
62350
+ , 5];
62351
+ _a.label = 1;
62062
62352
 
62063
- return;
62064
- }
62353
+ case 1:
62354
+ _a.trys.push([1, 3,, 4]);
62065
62355
 
62066
- var preferredMFA = data.PreferredMfaSetting || 'NOMFA';
62067
- var attributeList = [];
62356
+ return [4
62357
+ /*yield*/
62358
+ , this.cleanUpInvalidSession(user)];
62068
62359
 
62069
- for (var i = 0; i < data.UserAttributes.length; i++) {
62070
- var attribute = {
62071
- Name: data.UserAttributes[i].Name,
62072
- Value: data.UserAttributes[i].Value
62073
- };
62074
- var userAttribute = new amazon_cognito_identity_js__WEBPACK_IMPORTED_MODULE_2__["CognitoUserAttribute"](attribute);
62075
- attributeList.push(userAttribute);
62076
- }
62360
+ case 2:
62361
+ _a.sent();
62077
62362
 
62078
- var attributes = _this.attributesToObject(attributeList);
62363
+ return [3
62364
+ /*break*/
62365
+ , 4];
62366
+
62367
+ case 3:
62368
+ cleanUpError_6 = _a.sent();
62369
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_6.message));
62370
+ return [2
62371
+ /*return*/
62372
+ ];
62373
+
62374
+ case 4:
62375
+ rej(err);
62376
+ return [3
62377
+ /*break*/
62378
+ , 6];
62379
+
62380
+ case 5:
62381
+ res(user);
62382
+ _a.label = 6;
62383
+
62384
+ case 6:
62385
+ return [2
62386
+ /*return*/
62387
+ ];
62388
+
62389
+ case 7:
62390
+ preferredMFA = data.PreferredMfaSetting || 'NOMFA';
62391
+ attributeList = [];
62392
+
62393
+ for (i = 0; i < data.UserAttributes.length; i++) {
62394
+ attribute = {
62395
+ Name: data.UserAttributes[i].Name,
62396
+ Value: data.UserAttributes[i].Value
62397
+ };
62398
+ userAttribute = new amazon_cognito_identity_js__WEBPACK_IMPORTED_MODULE_2__["CognitoUserAttribute"](attribute);
62399
+ attributeList.push(userAttribute);
62400
+ }
62079
62401
 
62080
- Object.assign(user, {
62081
- attributes: attributes,
62082
- preferredMFA: preferredMFA
62402
+ attributes = this.attributesToObject(attributeList);
62403
+ Object.assign(user, {
62404
+ attributes: attributes,
62405
+ preferredMFA: preferredMFA
62406
+ });
62407
+ return [2
62408
+ /*return*/
62409
+ , res(user)];
62410
+ }
62411
+ });
62083
62412
  });
62084
- return res(user);
62085
62413
  }, {
62086
62414
  bypassCache: bypassCache,
62087
62415
  clientMetadata: clientMetadata
@@ -62127,7 +62455,7 @@ function () {
62127
62455
 
62128
62456
  AuthClass.prototype.currentAuthenticatedUser = function (params) {
62129
62457
  return __awaiter(this, void 0, void 0, function () {
62130
- var federatedUser, e_6, federatedInfo, user, e_7;
62458
+ var federatedUser, e_7, federatedInfo, user, e_8;
62131
62459
  return __generator(this, function (_a) {
62132
62460
  switch (_a.label) {
62133
62461
  case 0:
@@ -62150,9 +62478,9 @@ function () {
62150
62478
  , 4];
62151
62479
 
62152
62480
  case 3:
62153
- e_6 = _a.sent();
62154
- logger.debug('Failed to sync cache info into memory', e_6);
62155
- throw e_6;
62481
+ e_7 = _a.sent();
62482
+ logger.debug('Failed to sync cache info into memory', e_7);
62483
+ throw e_7;
62156
62484
 
62157
62485
  case 4:
62158
62486
  try {
@@ -62195,13 +62523,13 @@ function () {
62195
62523
  , 9];
62196
62524
 
62197
62525
  case 8:
62198
- e_7 = _a.sent();
62526
+ e_8 = _a.sent();
62199
62527
 
62200
- if (e_7 === 'No userPool') {
62528
+ if (e_8 === 'No userPool') {
62201
62529
  logger.error('Cannot get the current user because the user pool is missing. ' + 'Please make sure the Auth module is configured with a valid Cognito User Pool ID');
62202
62530
  }
62203
62531
 
62204
- logger.debug('The user is not authenticated by the error', e_7);
62532
+ logger.debug('The user is not authenticated by the error', e_8);
62205
62533
  return [2
62206
62534
  /*return*/
62207
62535
  , Promise.reject('The user is not authenticated')];
@@ -62226,7 +62554,7 @@ function () {
62226
62554
  logger.debug('Getting current session'); // Purposely not calling the reject method here because we don't need a console error
62227
62555
 
62228
62556
  if (!this.userPool) {
62229
- return Promise.reject();
62557
+ return this.rejectNoUserPool();
62230
62558
  }
62231
62559
 
62232
62560
  return new Promise(function (res, rej) {
@@ -62254,6 +62582,8 @@ function () {
62254
62582
 
62255
62583
 
62256
62584
  AuthClass.prototype.userSession = function (user) {
62585
+ var _this = this;
62586
+
62257
62587
  if (!user) {
62258
62588
  logger.debug('the user is null');
62259
62589
  return this.rejectAuthError(_types_Auth__WEBPACK_IMPORTED_MODULE_7__["AuthErrorTypes"].NoUserSession);
@@ -62261,18 +62591,59 @@ function () {
62261
62591
 
62262
62592
  var clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn
62263
62593
 
62264
- return new Promise(function (resolve, reject) {
62594
+ return new Promise(function (res, rej) {
62265
62595
  logger.debug('Getting the session from this user:', user);
62266
62596
  user.getSession(function (err, session) {
62267
- if (err) {
62268
- logger.debug('Failed to get the session from user', user);
62269
- reject(err);
62270
- return;
62271
- } else {
62272
- logger.debug('Succeed to get the user session', session);
62273
- resolve(session);
62274
- return;
62275
- }
62597
+ return __awaiter(_this, void 0, void 0, function () {
62598
+ var cleanUpError_7;
62599
+ return __generator(this, function (_a) {
62600
+ switch (_a.label) {
62601
+ case 0:
62602
+ if (!err) return [3
62603
+ /*break*/
62604
+ , 5];
62605
+ logger.debug('Failed to get the session from user', user);
62606
+ if (!this.isSessionInvalid(err)) return [3
62607
+ /*break*/
62608
+ , 4];
62609
+ _a.label = 1;
62610
+
62611
+ case 1:
62612
+ _a.trys.push([1, 3,, 4]);
62613
+
62614
+ return [4
62615
+ /*yield*/
62616
+ , this.cleanUpInvalidSession(user)];
62617
+
62618
+ case 2:
62619
+ _a.sent();
62620
+
62621
+ return [3
62622
+ /*break*/
62623
+ , 4];
62624
+
62625
+ case 3:
62626
+ cleanUpError_7 = _a.sent();
62627
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_7.message));
62628
+ return [2
62629
+ /*return*/
62630
+ ];
62631
+
62632
+ case 4:
62633
+ rej(err);
62634
+ return [2
62635
+ /*return*/
62636
+ ];
62637
+
62638
+ case 5:
62639
+ logger.debug('Succeed to get the user session', session);
62640
+ res(session);
62641
+ return [2
62642
+ /*return*/
62643
+ ];
62644
+ }
62645
+ });
62646
+ });
62276
62647
  }, {
62277
62648
  clientMetadata: clientMetadata
62278
62649
  });
@@ -62286,7 +62657,7 @@ function () {
62286
62657
 
62287
62658
  AuthClass.prototype.currentUserCredentials = function () {
62288
62659
  return __awaiter(this, void 0, void 0, function () {
62289
- var e_8, federatedInfo;
62660
+ var e_9, federatedInfo;
62290
62661
 
62291
62662
  var _this = this;
62292
62663
 
@@ -62311,9 +62682,9 @@ function () {
62311
62682
  , 4];
62312
62683
 
62313
62684
  case 3:
62314
- e_8 = _a.sent();
62315
- logger.debug('Failed to sync cache info into memory', e_8);
62316
- throw e_8;
62685
+ e_9 = _a.sent();
62686
+ logger.debug('Failed to sync cache info into memory', e_9);
62687
+ throw e_9;
62317
62688
 
62318
62689
  case 4:
62319
62690
  federatedInfo = null;
@@ -62335,8 +62706,8 @@ function () {
62335
62706
  , this.currentSession().then(function (session) {
62336
62707
  logger.debug('getting session success', session);
62337
62708
  return _this.Credentials.set(session, 'session');
62338
- })["catch"](function (error) {
62339
- logger.debug('getting session failed', error);
62709
+ })["catch"](function () {
62710
+ logger.debug('getting guest credentials');
62340
62711
  return _this.Credentials.set(null, 'guest');
62341
62712
  })];
62342
62713
  }
@@ -62428,7 +62799,7 @@ function () {
62428
62799
 
62429
62800
  AuthClass.prototype.cognitoIdentitySignOut = function (opts, user) {
62430
62801
  return __awaiter(this, void 0, void 0, function () {
62431
- var e_9, isSignedInHostedUI;
62802
+ var e_10, isSignedInHostedUI;
62432
62803
 
62433
62804
  var _this = this;
62434
62805
 
@@ -62449,9 +62820,9 @@ function () {
62449
62820
  , 3];
62450
62821
 
62451
62822
  case 2:
62452
- e_9 = _a.sent();
62453
- logger.debug('Failed to sync cache info into memory', e_9);
62454
- throw e_9;
62823
+ e_10 = _a.sent();
62824
+ logger.debug('Failed to sync cache info into memory', e_10);
62825
+ throw e_10;
62455
62826
 
62456
62827
  case 3:
62457
62828
  isSignedInHostedUI = this._oAuthHandler && this._storage.getItem('amplify-signin-with-hostedUI') === 'true';
@@ -62465,25 +62836,70 @@ function () {
62465
62836
  var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn
62466
62837
 
62467
62838
  user.getSession(function (err, result) {
62468
- if (err) {
62469
- logger.debug('failed to get the user session', err);
62470
- return rej(err);
62471
- }
62839
+ return __awaiter(_this, void 0, void 0, function () {
62840
+ var cleanUpError_8;
62472
62841
 
62473
- user.globalSignOut({
62474
- onSuccess: function onSuccess(data) {
62475
- logger.debug('global sign out success');
62842
+ var _this = this;
62476
62843
 
62477
- if (isSignedInHostedUI) {
62478
- _this.oAuthSignOutRedirect(res, rej);
62479
- } else {
62480
- return res();
62844
+ return __generator(this, function (_a) {
62845
+ switch (_a.label) {
62846
+ case 0:
62847
+ if (!err) return [3
62848
+ /*break*/
62849
+ , 5];
62850
+ logger.debug('failed to get the user session', err);
62851
+ if (!this.isSessionInvalid(err)) return [3
62852
+ /*break*/
62853
+ , 4];
62854
+ _a.label = 1;
62855
+
62856
+ case 1:
62857
+ _a.trys.push([1, 3,, 4]);
62858
+
62859
+ return [4
62860
+ /*yield*/
62861
+ , this.cleanUpInvalidSession(user)];
62862
+
62863
+ case 2:
62864
+ _a.sent();
62865
+
62866
+ return [3
62867
+ /*break*/
62868
+ , 4];
62869
+
62870
+ case 3:
62871
+ cleanUpError_8 = _a.sent();
62872
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_8.message));
62873
+ return [2
62874
+ /*return*/
62875
+ ];
62876
+
62877
+ case 4:
62878
+ return [2
62879
+ /*return*/
62880
+ , rej(err)];
62881
+
62882
+ case 5:
62883
+ user.globalSignOut({
62884
+ onSuccess: function onSuccess(data) {
62885
+ logger.debug('global sign out success');
62886
+
62887
+ if (isSignedInHostedUI) {
62888
+ _this.oAuthSignOutRedirect(res, rej);
62889
+ } else {
62890
+ return res();
62891
+ }
62892
+ },
62893
+ onFailure: function onFailure(err) {
62894
+ logger.debug('global sign out failed', err);
62895
+ return rej(err);
62896
+ }
62897
+ });
62898
+ return [2
62899
+ /*return*/
62900
+ ];
62481
62901
  }
62482
- },
62483
- onFailure: function onFailure(err) {
62484
- logger.debug('global sign out failed', err);
62485
- return rej(err);
62486
- }
62902
+ });
62487
62903
  });
62488
62904
  }, {
62489
62905
  clientMetadata: clientMetadata
@@ -62526,7 +62942,7 @@ function () {
62526
62942
 
62527
62943
 
62528
62944
  setTimeout(function () {
62529
- return reject('Signout timeout fail');
62945
+ return reject(Error('Signout timeout fail'));
62530
62946
  }, 3000);
62531
62947
  };
62532
62948
  /**
@@ -62538,7 +62954,7 @@ function () {
62538
62954
 
62539
62955
  AuthClass.prototype.signOut = function (opts) {
62540
62956
  return __awaiter(this, void 0, void 0, function () {
62541
- var e_10, user;
62957
+ var e_11, user;
62542
62958
  return __generator(this, function (_a) {
62543
62959
  switch (_a.label) {
62544
62960
  case 0:
@@ -62556,7 +62972,7 @@ function () {
62556
62972
  , 3];
62557
62973
 
62558
62974
  case 2:
62559
- e_10 = _a.sent();
62975
+ e_11 = _a.sent();
62560
62976
  logger.debug('failed to clear cached items');
62561
62977
  return [3
62562
62978
  /*break*/
@@ -62591,7 +63007,7 @@ function () {
62591
63007
  , 8];
62592
63008
 
62593
63009
  case 7:
62594
- logger.debug('no Congito User pool');
63010
+ logger.debug('no Cognito User pool');
62595
63011
  _a.label = 8;
62596
63012
 
62597
63013
  case 8:
@@ -62757,7 +63173,7 @@ function () {
62757
63173
 
62758
63174
  AuthClass.prototype.currentUserInfo = function () {
62759
63175
  return __awaiter(this, void 0, void 0, function () {
62760
- var source, user, attributes, userAttrs, credentials, e_11, info, err_1, user;
63176
+ var source, user, attributes, userAttrs, credentials, e_12, info, err_1, user;
62761
63177
  return __generator(this, function (_a) {
62762
63178
  switch (_a.label) {
62763
63179
  case 0:
@@ -62809,8 +63225,8 @@ function () {
62809
63225
  , 7];
62810
63226
 
62811
63227
  case 6:
62812
- e_11 = _a.sent();
62813
- logger.debug('Failed to retrieve credentials while getting current user info', e_11);
63228
+ e_12 = _a.sent();
63229
+ logger.debug('Failed to retrieve credentials while getting current user info', e_12);
62814
63230
  return [3
62815
63231
  /*break*/
62816
63232
  , 7];