@aws-amplify/auth 4.5.8 → 4.5.9-auto-sign-in.10
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/aws-amplify-auth.js +176 -13
- package/dist/aws-amplify-auth.js.map +1 -1
- package/dist/aws-amplify-auth.min.js +7 -7
- package/dist/aws-amplify-auth.min.js.map +1 -1
- package/lib/Auth.d.ts +6 -0
- package/lib/Auth.js +122 -11
- package/lib/Auth.js.map +1 -1
- package/lib/Errors.js +3 -0
- package/lib/Errors.js.map +1 -1
- package/lib/common/AuthErrorStrings.d.ts +2 -1
- package/lib/common/AuthErrorStrings.js +1 -0
- package/lib/common/AuthErrorStrings.js.map +1 -1
- package/lib/types/Auth.d.ts +11 -1
- package/lib/types/Auth.js +1 -0
- package/lib/types/Auth.js.map +1 -1
- package/lib/urlListener.js +2 -2
- package/lib/urlListener.js.map +1 -1
- package/lib-esm/Auth.d.ts +6 -0
- package/lib-esm/Auth.js +123 -12
- package/lib-esm/Auth.js.map +1 -1
- package/lib-esm/Errors.js +3 -0
- package/lib-esm/Errors.js.map +1 -1
- package/lib-esm/common/AuthErrorStrings.d.ts +2 -1
- package/lib-esm/common/AuthErrorStrings.js +1 -0
- package/lib-esm/common/AuthErrorStrings.js.map +1 -1
- package/lib-esm/types/Auth.d.ts +11 -1
- package/lib-esm/types/Auth.js +1 -0
- package/lib-esm/types/Auth.js.map +1 -1
- package/lib-esm/urlListener.js +3 -3
- package/lib-esm/urlListener.js.map +1 -1
- package/package.json +5 -5
- package/src/Auth.ts +151 -3
- package/src/Errors.ts +3 -0
- package/src/common/AuthErrorStrings.ts +1 -0
- package/src/types/Auth.ts +9 -0
- package/src/urlListener.ts +3 -3
package/dist/aws-amplify-auth.js
CHANGED
|
@@ -10710,6 +10710,7 @@ var dispatchAuthEvent = function dispatchAuthEvent(event, data, message) {
|
|
|
10710
10710
|
|
|
10711
10711
|
|
|
10712
10712
|
var MAX_DEVICES = 60;
|
|
10713
|
+
var MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;
|
|
10713
10714
|
/**
|
|
10714
10715
|
* Provide authentication steps
|
|
10715
10716
|
*/
|
|
@@ -10727,6 +10728,7 @@ function () {
|
|
|
10727
10728
|
this.userPool = null;
|
|
10728
10729
|
this.user = null;
|
|
10729
10730
|
this.oAuthFlowInProgress = false;
|
|
10731
|
+
this.autoSignInInitiated = false;
|
|
10730
10732
|
this.Credentials = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Credentials"];
|
|
10731
10733
|
|
|
10732
10734
|
this.wrapRefreshSessionCallback = function (callback) {
|
|
@@ -10872,6 +10874,17 @@ function () {
|
|
|
10872
10874
|
}
|
|
10873
10875
|
|
|
10874
10876
|
dispatchAuthEvent('configured', null, "The Auth category has been configured successfully");
|
|
10877
|
+
|
|
10878
|
+
if (!this.autoSignInInitiated && typeof this._storage['getItem'] === 'function') {
|
|
10879
|
+
var pollingInitiated = this.isTrueStorageValue('amplify-polling-started');
|
|
10880
|
+
|
|
10881
|
+
if (pollingInitiated) {
|
|
10882
|
+
dispatchAuthEvent('autoSignIn_failure', null, _types_Auth__WEBPACK_IMPORTED_MODULE_7__["AuthErrorTypes"].AutoSignInError);
|
|
10883
|
+
}
|
|
10884
|
+
|
|
10885
|
+
this._storage.removeItem('amplify-polling-started');
|
|
10886
|
+
}
|
|
10887
|
+
|
|
10875
10888
|
return this._config;
|
|
10876
10889
|
};
|
|
10877
10890
|
/**
|
|
@@ -10891,6 +10904,8 @@ function () {
|
|
|
10891
10904
|
restOfAttrs[_i - 1] = arguments[_i];
|
|
10892
10905
|
}
|
|
10893
10906
|
|
|
10907
|
+
var _a, _b, _c;
|
|
10908
|
+
|
|
10894
10909
|
if (!this.userPool) {
|
|
10895
10910
|
return this.rejectNoUserPool();
|
|
10896
10911
|
}
|
|
@@ -10900,6 +10915,11 @@ function () {
|
|
|
10900
10915
|
var attributes = [];
|
|
10901
10916
|
var validationData = null;
|
|
10902
10917
|
var clientMetadata;
|
|
10918
|
+
var autoSignIn = {
|
|
10919
|
+
enabled: false
|
|
10920
|
+
};
|
|
10921
|
+
var autoSignInValidationData = {};
|
|
10922
|
+
var autoSignInClientMetaData = {};
|
|
10903
10923
|
|
|
10904
10924
|
if (params && typeof params === 'string') {
|
|
10905
10925
|
username = params;
|
|
@@ -10946,6 +10966,17 @@ function () {
|
|
|
10946
10966
|
}));
|
|
10947
10967
|
});
|
|
10948
10968
|
}
|
|
10969
|
+
|
|
10970
|
+
autoSignIn = (_a = params.autoSignIn) !== null && _a !== void 0 ? _a : {
|
|
10971
|
+
enabled: false
|
|
10972
|
+
};
|
|
10973
|
+
|
|
10974
|
+
if (autoSignIn.enabled) {
|
|
10975
|
+
this._storage.setItem('amplify-auto-sign-in', true);
|
|
10976
|
+
|
|
10977
|
+
autoSignInValidationData = (_b = autoSignIn.validationData) !== null && _b !== void 0 ? _b : {};
|
|
10978
|
+
autoSignInClientMetaData = (_c = autoSignIn.clientMetaData) !== null && _c !== void 0 ? _c : {};
|
|
10979
|
+
}
|
|
10949
10980
|
} else {
|
|
10950
10981
|
return this.rejectAuthError(_types_Auth__WEBPACK_IMPORTED_MODULE_7__["AuthErrorTypes"].SignUpError);
|
|
10951
10982
|
}
|
|
@@ -10967,11 +10998,122 @@ function () {
|
|
|
10967
10998
|
reject(err);
|
|
10968
10999
|
} else {
|
|
10969
11000
|
dispatchAuthEvent('signUp', data, username + " has signed up successfully");
|
|
11001
|
+
|
|
11002
|
+
if (autoSignIn.enabled) {
|
|
11003
|
+
_this.handleAutoSignIn(username, password, autoSignInValidationData, autoSignInClientMetaData, data);
|
|
11004
|
+
}
|
|
11005
|
+
|
|
10970
11006
|
resolve(data);
|
|
10971
11007
|
}
|
|
10972
11008
|
}, clientMetadata);
|
|
10973
11009
|
});
|
|
10974
11010
|
};
|
|
11011
|
+
|
|
11012
|
+
AuthClass.prototype.handleAutoSignIn = function (username, password, validationData, clientMetadata, data) {
|
|
11013
|
+
this.autoSignInInitiated = true;
|
|
11014
|
+
var authDetails = new amazon_cognito_identity_js__WEBPACK_IMPORTED_MODULE_2__["AuthenticationDetails"]({
|
|
11015
|
+
Username: username,
|
|
11016
|
+
Password: password,
|
|
11017
|
+
ValidationData: validationData,
|
|
11018
|
+
ClientMetadata: clientMetadata
|
|
11019
|
+
});
|
|
11020
|
+
|
|
11021
|
+
if (data.userConfirmed) {
|
|
11022
|
+
this.signInAfterUserConfirmed(authDetails);
|
|
11023
|
+
} else if (this._config.signUpVerificationMethod === 'link') {
|
|
11024
|
+
this.handleLinkAutoSignIn(authDetails);
|
|
11025
|
+
} else {
|
|
11026
|
+
this.handleCodeAutoSignIn(authDetails);
|
|
11027
|
+
}
|
|
11028
|
+
};
|
|
11029
|
+
|
|
11030
|
+
AuthClass.prototype.handleCodeAutoSignIn = function (authDetails) {
|
|
11031
|
+
var _this = this;
|
|
11032
|
+
|
|
11033
|
+
var listenEvent = function listenEvent(_a) {
|
|
11034
|
+
var payload = _a.payload;
|
|
11035
|
+
|
|
11036
|
+
if (payload.event === 'confirmSignUp') {
|
|
11037
|
+
_this.signInAfterUserConfirmed(authDetails, listenEvent);
|
|
11038
|
+
}
|
|
11039
|
+
};
|
|
11040
|
+
|
|
11041
|
+
_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Hub"].listen('auth', listenEvent);
|
|
11042
|
+
};
|
|
11043
|
+
|
|
11044
|
+
AuthClass.prototype.handleLinkAutoSignIn = function (authDetails) {
|
|
11045
|
+
var _this = this;
|
|
11046
|
+
|
|
11047
|
+
this._storage.setItem('amplify-polling-started', true);
|
|
11048
|
+
|
|
11049
|
+
var start = Date.now();
|
|
11050
|
+
var autoSignInPollingIntervalId = setInterval(function () {
|
|
11051
|
+
if (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {
|
|
11052
|
+
clearInterval(autoSignInPollingIntervalId);
|
|
11053
|
+
dispatchAuthEvent('autoSignIn_failure', null, 'Please confirm your account and use your credentials to sign in.');
|
|
11054
|
+
} else {
|
|
11055
|
+
_this.signInAfterUserConfirmed(authDetails, null, autoSignInPollingIntervalId);
|
|
11056
|
+
}
|
|
11057
|
+
}, 5000);
|
|
11058
|
+
};
|
|
11059
|
+
|
|
11060
|
+
AuthClass.prototype.signInAfterUserConfirmed = function (authDetails, listenEvent, autoSignInPollingIntervalId) {
|
|
11061
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
11062
|
+
var user, error_1;
|
|
11063
|
+
|
|
11064
|
+
var _this = this;
|
|
11065
|
+
|
|
11066
|
+
return __generator(this, function (_a) {
|
|
11067
|
+
switch (_a.label) {
|
|
11068
|
+
case 0:
|
|
11069
|
+
user = this.createCognitoUser(authDetails.getUsername());
|
|
11070
|
+
_a.label = 1;
|
|
11071
|
+
|
|
11072
|
+
case 1:
|
|
11073
|
+
_a.trys.push([1, 3,, 4]);
|
|
11074
|
+
|
|
11075
|
+
return [4
|
|
11076
|
+
/*yield*/
|
|
11077
|
+
, user.authenticateUser(authDetails, this.authCallbacks(user, function (value) {
|
|
11078
|
+
dispatchAuthEvent('autoSignIn', value, authDetails.getUsername() + " has signed in successfully");
|
|
11079
|
+
|
|
11080
|
+
if (listenEvent) {
|
|
11081
|
+
_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["Hub"].remove('auth', listenEvent);
|
|
11082
|
+
}
|
|
11083
|
+
|
|
11084
|
+
if (autoSignInPollingIntervalId) {
|
|
11085
|
+
clearInterval(autoSignInPollingIntervalId);
|
|
11086
|
+
|
|
11087
|
+
_this._storage.removeItem('amplify-polling-started');
|
|
11088
|
+
}
|
|
11089
|
+
|
|
11090
|
+
_this._storage.removeItem('amplify-auto-sign-in');
|
|
11091
|
+
}, function (error) {
|
|
11092
|
+
logger.error(error);
|
|
11093
|
+
}))];
|
|
11094
|
+
|
|
11095
|
+
case 2:
|
|
11096
|
+
_a.sent();
|
|
11097
|
+
|
|
11098
|
+
return [3
|
|
11099
|
+
/*break*/
|
|
11100
|
+
, 4];
|
|
11101
|
+
|
|
11102
|
+
case 3:
|
|
11103
|
+
error_1 = _a.sent();
|
|
11104
|
+
logger.error(error_1);
|
|
11105
|
+
return [3
|
|
11106
|
+
/*break*/
|
|
11107
|
+
, 4];
|
|
11108
|
+
|
|
11109
|
+
case 4:
|
|
11110
|
+
return [2
|
|
11111
|
+
/*return*/
|
|
11112
|
+
];
|
|
11113
|
+
}
|
|
11114
|
+
});
|
|
11115
|
+
});
|
|
11116
|
+
};
|
|
10975
11117
|
/**
|
|
10976
11118
|
* Send the verification code to confirm sign up
|
|
10977
11119
|
* @param {String} username - The username to be confirmed
|
|
@@ -10982,6 +11124,8 @@ function () {
|
|
|
10982
11124
|
|
|
10983
11125
|
|
|
10984
11126
|
AuthClass.prototype.confirmSignUp = function (username, code, options) {
|
|
11127
|
+
var _this = this;
|
|
11128
|
+
|
|
10985
11129
|
if (!this.userPool) {
|
|
10986
11130
|
return this.rejectNoUserPool();
|
|
10987
11131
|
}
|
|
@@ -11009,11 +11153,25 @@ function () {
|
|
|
11009
11153
|
if (err) {
|
|
11010
11154
|
reject(err);
|
|
11011
11155
|
} else {
|
|
11156
|
+
dispatchAuthEvent('confirmSignUp', data, username + " has been confirmed successfully");
|
|
11157
|
+
|
|
11158
|
+
var autoSignIn = _this.isTrueStorageValue('amplify-auto-sign-in');
|
|
11159
|
+
|
|
11160
|
+
if (autoSignIn && !_this.autoSignInInitiated) {
|
|
11161
|
+
dispatchAuthEvent('autoSignIn_failure', null, _types_Auth__WEBPACK_IMPORTED_MODULE_7__["AuthErrorTypes"].AutoSignInError);
|
|
11162
|
+
}
|
|
11163
|
+
|
|
11012
11164
|
resolve(data);
|
|
11013
11165
|
}
|
|
11014
11166
|
}, clientMetadata);
|
|
11015
11167
|
});
|
|
11016
11168
|
};
|
|
11169
|
+
|
|
11170
|
+
AuthClass.prototype.isTrueStorageValue = function (value) {
|
|
11171
|
+
var item = this._storage.getItem(value);
|
|
11172
|
+
|
|
11173
|
+
return item ? item === 'true' : false;
|
|
11174
|
+
};
|
|
11017
11175
|
/**
|
|
11018
11176
|
* Resend the verification code
|
|
11019
11177
|
* @param {String} username - The username to be confirmed
|
|
@@ -13056,7 +13214,7 @@ function () {
|
|
|
13056
13214
|
};
|
|
13057
13215
|
|
|
13058
13216
|
AuthClass.prototype.oAuthSignOutRedirect = function (resolve, reject) {
|
|
13059
|
-
var isBrowser = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["
|
|
13217
|
+
var isBrowser = Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["browserOrNode"])().isBrowser;
|
|
13060
13218
|
|
|
13061
13219
|
if (isBrowser) {
|
|
13062
13220
|
this.oAuthSignOutRedirectOrReject(reject);
|
|
@@ -13514,7 +13672,7 @@ function () {
|
|
|
13514
13672
|
dispatchAuthEvent('parsingCallbackUrl', {
|
|
13515
13673
|
url: URL
|
|
13516
13674
|
}, "The callback url is being parsed");
|
|
13517
|
-
currentUrl = URL || (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["
|
|
13675
|
+
currentUrl = URL || (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["browserOrNode"])().isBrowser ? window.location.href : '');
|
|
13518
13676
|
hasCodeOrError = !!(Object(url__WEBPACK_IMPORTED_MODULE_3__["parse"])(currentUrl).query || '').split('&').map(function (entry) {
|
|
13519
13677
|
return entry.split('=');
|
|
13520
13678
|
}).find(function (_a) {
|
|
@@ -13711,7 +13869,7 @@ function () {
|
|
|
13711
13869
|
|
|
13712
13870
|
AuthClass.prototype.rememberDevice = function () {
|
|
13713
13871
|
return __awaiter(this, void 0, void 0, function () {
|
|
13714
|
-
var currUser,
|
|
13872
|
+
var currUser, error_2;
|
|
13715
13873
|
return __generator(this, function (_a) {
|
|
13716
13874
|
switch (_a.label) {
|
|
13717
13875
|
case 0:
|
|
@@ -13728,8 +13886,8 @@ function () {
|
|
|
13728
13886
|
, 3];
|
|
13729
13887
|
|
|
13730
13888
|
case 2:
|
|
13731
|
-
|
|
13732
|
-
logger.debug('The user is not authenticated by the error',
|
|
13889
|
+
error_2 = _a.sent();
|
|
13890
|
+
logger.debug('The user is not authenticated by the error', error_2);
|
|
13733
13891
|
return [2
|
|
13734
13892
|
/*return*/
|
|
13735
13893
|
, Promise.reject('The user is not authenticated')];
|
|
@@ -13761,7 +13919,7 @@ function () {
|
|
|
13761
13919
|
|
|
13762
13920
|
AuthClass.prototype.forgetDevice = function () {
|
|
13763
13921
|
return __awaiter(this, void 0, void 0, function () {
|
|
13764
|
-
var currUser,
|
|
13922
|
+
var currUser, error_3;
|
|
13765
13923
|
return __generator(this, function (_a) {
|
|
13766
13924
|
switch (_a.label) {
|
|
13767
13925
|
case 0:
|
|
@@ -13778,8 +13936,8 @@ function () {
|
|
|
13778
13936
|
, 3];
|
|
13779
13937
|
|
|
13780
13938
|
case 2:
|
|
13781
|
-
|
|
13782
|
-
logger.debug('The user is not authenticated by the error',
|
|
13939
|
+
error_3 = _a.sent();
|
|
13940
|
+
logger.debug('The user is not authenticated by the error', error_3);
|
|
13783
13941
|
return [2
|
|
13784
13942
|
/*return*/
|
|
13785
13943
|
, Promise.reject('The user is not authenticated')];
|
|
@@ -13811,7 +13969,7 @@ function () {
|
|
|
13811
13969
|
|
|
13812
13970
|
AuthClass.prototype.fetchDevices = function () {
|
|
13813
13971
|
return __awaiter(this, void 0, void 0, function () {
|
|
13814
|
-
var currUser,
|
|
13972
|
+
var currUser, error_4;
|
|
13815
13973
|
return __generator(this, function (_a) {
|
|
13816
13974
|
switch (_a.label) {
|
|
13817
13975
|
case 0:
|
|
@@ -13828,8 +13986,8 @@ function () {
|
|
|
13828
13986
|
, 3];
|
|
13829
13987
|
|
|
13830
13988
|
case 2:
|
|
13831
|
-
|
|
13832
|
-
logger.debug('The user is not authenticated by the error',
|
|
13989
|
+
error_4 = _a.sent();
|
|
13990
|
+
logger.debug('The user is not authenticated by the error', error_4);
|
|
13833
13991
|
throw new Error('The user is not authenticated');
|
|
13834
13992
|
|
|
13835
13993
|
case 3:
|
|
@@ -14026,6 +14184,9 @@ var authErrorMessages = {
|
|
|
14026
14184
|
networkError: {
|
|
14027
14185
|
message: _common_AuthErrorStrings__WEBPACK_IMPORTED_MODULE_1__["AuthErrorStrings"].NETWORK_ERROR
|
|
14028
14186
|
},
|
|
14187
|
+
autoSignInError: {
|
|
14188
|
+
message: _common_AuthErrorStrings__WEBPACK_IMPORTED_MODULE_1__["AuthErrorStrings"].AUTOSIGNIN_ERROR
|
|
14189
|
+
},
|
|
14029
14190
|
"default": {
|
|
14030
14191
|
message: _common_AuthErrorStrings__WEBPACK_IMPORTED_MODULE_1__["AuthErrorStrings"].DEFAULT_MSG
|
|
14031
14192
|
}
|
|
@@ -14753,6 +14914,7 @@ var AuthErrorStrings;
|
|
|
14753
14914
|
AuthErrorStrings["NO_USER_SESSION"] = "Failed to get the session because the user is empty";
|
|
14754
14915
|
AuthErrorStrings["NETWORK_ERROR"] = "Network Error";
|
|
14755
14916
|
AuthErrorStrings["DEVICE_CONFIG"] = "Device tracking has not been configured in this User Pool";
|
|
14917
|
+
AuthErrorStrings["AUTOSIGNIN_ERROR"] = "Please use your credentials to sign in";
|
|
14756
14918
|
})(AuthErrorStrings || (AuthErrorStrings = {}));
|
|
14757
14919
|
|
|
14758
14920
|
/***/ }),
|
|
@@ -14886,6 +15048,7 @@ var AuthErrorTypes;
|
|
|
14886
15048
|
AuthErrorTypes["Default"] = "default";
|
|
14887
15049
|
AuthErrorTypes["DeviceConfig"] = "deviceConfig";
|
|
14888
15050
|
AuthErrorTypes["NetworkError"] = "networkError";
|
|
15051
|
+
AuthErrorTypes["AutoSignInError"] = "autoSignInError";
|
|
14889
15052
|
})(AuthErrorTypes || (AuthErrorTypes = {}));
|
|
14890
15053
|
|
|
14891
15054
|
function isUsernamePasswordOpts(obj) {
|
|
@@ -14970,12 +15133,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
14970
15133
|
*/
|
|
14971
15134
|
|
|
14972
15135
|
/* harmony default export */ __webpack_exports__["default"] = (function (callback) {
|
|
14973
|
-
if (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["
|
|
15136
|
+
if (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["browserOrNode"])().isBrowser && window.location) {
|
|
14974
15137
|
var url = window.location.href;
|
|
14975
15138
|
callback({
|
|
14976
15139
|
url: url
|
|
14977
15140
|
});
|
|
14978
|
-
} else if (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["
|
|
15141
|
+
} else if (Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["browserOrNode"])().isNode) {
|
|
14979
15142
|
// continue building on ssr
|
|
14980
15143
|
(function () {}); // noop
|
|
14981
15144
|
|