@firebase/auth 1.3.0 → 1.3.1-20231025123451
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/auth-public.d.ts +25 -4
- package/dist/auth.d.ts +25 -4
- package/dist/browser-cjs/{index-68b50c51.js → index-1a200980.js} +133 -127
- package/dist/browser-cjs/index-1a200980.js.map +1 -0
- package/dist/browser-cjs/index.js +1 -1
- package/dist/browser-cjs/internal.js +1 -1
- package/dist/browser-cjs/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/browser-cjs/src/api/index.d.ts +10 -0
- package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/cordova/index.js +2 -2
- package/dist/cordova/internal.js +2 -2
- package/dist/cordova/{popup_redirect-0a78e29a.js → popup_redirect-293c87d4.js} +183 -214
- package/dist/cordova/popup_redirect-293c87d4.js.map +1 -0
- package/dist/cordova/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/cordova/src/api/index.d.ts +10 -0
- package/dist/cordova/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/esm2017/{index-9a76d29a.js → index-e91d1134.js} +133 -127
- package/dist/esm2017/index-e91d1134.js.map +1 -0
- package/dist/esm2017/index.js +1 -1
- package/dist/esm2017/internal.js +2 -2
- package/dist/esm2017/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/esm2017/src/api/index.d.ts +10 -0
- package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/esm5/{index-3f0ee8ce.js → index-11c5d6af.js} +183 -214
- package/dist/esm5/index-11c5d6af.js.map +1 -0
- package/dist/esm5/index.js +1 -1
- package/dist/esm5/internal.js +2 -2
- package/dist/esm5/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/esm5/src/api/index.d.ts +10 -0
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/index.webworker.esm5.js +141 -172
- package/dist/index.webworker.esm5.js.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/internal.js +1 -1
- package/dist/node/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/node/src/api/index.d.ts +10 -0
- package/dist/node/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/node/{totp-cceb0d01.js → totp-65485935.js} +179 -210
- package/dist/node/totp-65485935.js.map +1 -0
- package/dist/node-esm/index.js +1 -1
- package/dist/node-esm/internal.js +2 -2
- package/dist/node-esm/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/node-esm/src/api/index.d.ts +10 -0
- package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/node-esm/{totp-64a935f2.js → totp-6f437332.js} +129 -123
- package/dist/node-esm/totp-6f437332.js.map +1 -0
- package/dist/rn/{index-1dd41d18.js → index-134d3a30.js} +183 -214
- package/dist/rn/index-134d3a30.js.map +1 -0
- package/dist/rn/index.js +1 -1
- package/dist/rn/internal.js +1 -1
- package/dist/rn/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/rn/src/api/index.d.ts +10 -0
- package/dist/rn/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/dist/src/api/authentication/recaptcha.d.ts +2 -2
- package/dist/src/api/index.d.ts +10 -0
- package/dist/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
- package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
- package/package.json +8 -8
- package/dist/browser-cjs/index-68b50c51.js.map +0 -1
- package/dist/cordova/popup_redirect-0a78e29a.js.map +0 -1
- package/dist/esm2017/index-9a76d29a.js.map +0 -1
- package/dist/esm5/index-3f0ee8ce.js.map +0 -1
- package/dist/node/totp-cceb0d01.js.map +0 -1
- package/dist/node-esm/totp-64a935f2.js.map +0 -1
- package/dist/rn/index-1dd41d18.js.map +0 -1
|
@@ -6,53 +6,6 @@ var app = require('@firebase/app');
|
|
|
6
6
|
var component = require('@firebase/component');
|
|
7
7
|
var logger = require('@firebase/logger');
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* @license
|
|
11
|
-
* Copyright 2020 Google LLC
|
|
12
|
-
*
|
|
13
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
14
|
-
* you may not use this file except in compliance with the License.
|
|
15
|
-
* You may obtain a copy of the License at
|
|
16
|
-
*
|
|
17
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
-
*
|
|
19
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
20
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
-
* See the License for the specific language governing permissions and
|
|
23
|
-
* limitations under the License.
|
|
24
|
-
*/
|
|
25
|
-
function isV2(grecaptcha) {
|
|
26
|
-
return (grecaptcha !== undefined &&
|
|
27
|
-
grecaptcha.getResponse !== undefined);
|
|
28
|
-
}
|
|
29
|
-
function isEnterprise(grecaptcha) {
|
|
30
|
-
return (grecaptcha !== undefined &&
|
|
31
|
-
grecaptcha.enterprise !== undefined);
|
|
32
|
-
}
|
|
33
|
-
var RecaptchaConfig = /** @class */ (function () {
|
|
34
|
-
function RecaptchaConfig(response) {
|
|
35
|
-
/**
|
|
36
|
-
* The reCAPTCHA site key.
|
|
37
|
-
*/
|
|
38
|
-
this.siteKey = '';
|
|
39
|
-
/**
|
|
40
|
-
* The reCAPTCHA enablement status of the {@link EmailAuthProvider} for the current tenant.
|
|
41
|
-
*/
|
|
42
|
-
this.emailPasswordEnabled = false;
|
|
43
|
-
if (response.recaptchaKey === undefined) {
|
|
44
|
-
throw new Error('recaptchaKey undefined');
|
|
45
|
-
}
|
|
46
|
-
// Example response.recaptchaKey: "projects/proj123/keys/sitekey123"
|
|
47
|
-
this.siteKey = response.recaptchaKey.split('/')[3];
|
|
48
|
-
this.emailPasswordEnabled = response.recaptchaEnforcementState.some(function (enforcementState) {
|
|
49
|
-
return enforcementState.provider === 'EMAIL_PASSWORD_PROVIDER' &&
|
|
50
|
-
enforcementState.enforcementState !== 'OFF';
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
return RecaptchaConfig;
|
|
54
|
-
}());
|
|
55
|
-
|
|
56
9
|
/**
|
|
57
10
|
* @license
|
|
58
11
|
* Copyright 2020 Google LLC
|
|
@@ -693,6 +646,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
693
646
|
if (typeof self !== 'undefined' && 'fetch' in self) {
|
|
694
647
|
return self.fetch;
|
|
695
648
|
}
|
|
649
|
+
if (typeof globalThis !== 'undefined' && globalThis.fetch) {
|
|
650
|
+
return globalThis.fetch;
|
|
651
|
+
}
|
|
652
|
+
if (typeof fetch !== 'undefined') {
|
|
653
|
+
return fetch;
|
|
654
|
+
}
|
|
696
655
|
debugFail('Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
697
656
|
};
|
|
698
657
|
FetchProvider.headers = function () {
|
|
@@ -702,6 +661,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
702
661
|
if (typeof self !== 'undefined' && 'Headers' in self) {
|
|
703
662
|
return self.Headers;
|
|
704
663
|
}
|
|
664
|
+
if (typeof globalThis !== 'undefined' && globalThis.Headers) {
|
|
665
|
+
return globalThis.Headers;
|
|
666
|
+
}
|
|
667
|
+
if (typeof Headers !== 'undefined') {
|
|
668
|
+
return Headers;
|
|
669
|
+
}
|
|
705
670
|
debugFail('Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
706
671
|
};
|
|
707
672
|
FetchProvider.response = function () {
|
|
@@ -711,6 +676,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
711
676
|
if (typeof self !== 'undefined' && 'Response' in self) {
|
|
712
677
|
return self.Response;
|
|
713
678
|
}
|
|
679
|
+
if (typeof globalThis !== 'undefined' && globalThis.Response) {
|
|
680
|
+
return globalThis.Response;
|
|
681
|
+
}
|
|
682
|
+
if (typeof Response !== 'undefined') {
|
|
683
|
+
return Response;
|
|
684
|
+
}
|
|
714
685
|
debugFail('Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
715
686
|
};
|
|
716
687
|
return FetchProvider;
|
|
@@ -963,6 +934,18 @@ function _getFinalTarget(auth, host, path, query) {
|
|
|
963
934
|
}
|
|
964
935
|
return _emulatorUrl(auth.config, base);
|
|
965
936
|
}
|
|
937
|
+
function _parseEnforcementState(enforcementStateStr) {
|
|
938
|
+
switch (enforcementStateStr) {
|
|
939
|
+
case 'ENFORCE':
|
|
940
|
+
return "ENFORCE" /* EnforcementState.ENFORCE */;
|
|
941
|
+
case 'AUDIT':
|
|
942
|
+
return "AUDIT" /* EnforcementState.AUDIT */;
|
|
943
|
+
case 'OFF':
|
|
944
|
+
return "OFF" /* EnforcementState.OFF */;
|
|
945
|
+
default:
|
|
946
|
+
return "ENFORCEMENT_STATE_UNSPECIFIED" /* EnforcementState.ENFORCEMENT_STATE_UNSPECIFIED */;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
966
949
|
var NetworkTimeout = /** @class */ (function () {
|
|
967
950
|
function NetworkTimeout(auth) {
|
|
968
951
|
var _this = this;
|
|
@@ -998,6 +981,81 @@ function _makeTaggedError(auth, code, response) {
|
|
|
998
981
|
return error;
|
|
999
982
|
}
|
|
1000
983
|
|
|
984
|
+
/**
|
|
985
|
+
* @license
|
|
986
|
+
* Copyright 2020 Google LLC
|
|
987
|
+
*
|
|
988
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
989
|
+
* you may not use this file except in compliance with the License.
|
|
990
|
+
* You may obtain a copy of the License at
|
|
991
|
+
*
|
|
992
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
993
|
+
*
|
|
994
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
995
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
996
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
997
|
+
* See the License for the specific language governing permissions and
|
|
998
|
+
* limitations under the License.
|
|
999
|
+
*/
|
|
1000
|
+
function isV2(grecaptcha) {
|
|
1001
|
+
return (grecaptcha !== undefined &&
|
|
1002
|
+
grecaptcha.getResponse !== undefined);
|
|
1003
|
+
}
|
|
1004
|
+
function isEnterprise(grecaptcha) {
|
|
1005
|
+
return (grecaptcha !== undefined &&
|
|
1006
|
+
grecaptcha.enterprise !== undefined);
|
|
1007
|
+
}
|
|
1008
|
+
var RecaptchaConfig = /** @class */ (function () {
|
|
1009
|
+
function RecaptchaConfig(response) {
|
|
1010
|
+
/**
|
|
1011
|
+
* The reCAPTCHA site key.
|
|
1012
|
+
*/
|
|
1013
|
+
this.siteKey = '';
|
|
1014
|
+
/**
|
|
1015
|
+
* The list of providers and their enablement status for reCAPTCHA Enterprise.
|
|
1016
|
+
*/
|
|
1017
|
+
this.recaptchaEnforcementState = [];
|
|
1018
|
+
if (response.recaptchaKey === undefined) {
|
|
1019
|
+
throw new Error('recaptchaKey undefined');
|
|
1020
|
+
}
|
|
1021
|
+
// Example response.recaptchaKey: "projects/proj123/keys/sitekey123"
|
|
1022
|
+
this.siteKey = response.recaptchaKey.split('/')[3];
|
|
1023
|
+
this.recaptchaEnforcementState = response.recaptchaEnforcementState;
|
|
1024
|
+
}
|
|
1025
|
+
/**
|
|
1026
|
+
* Returns the reCAPTCHA Enterprise enforcement state for the given provider.
|
|
1027
|
+
*
|
|
1028
|
+
* @param providerStr - The provider whose enforcement state is to be returned.
|
|
1029
|
+
* @returns The reCAPTCHA Enterprise enforcement state for the given provider.
|
|
1030
|
+
*/
|
|
1031
|
+
RecaptchaConfig.prototype.getProviderEnforcementState = function (providerStr) {
|
|
1032
|
+
if (!this.recaptchaEnforcementState ||
|
|
1033
|
+
this.recaptchaEnforcementState.length === 0) {
|
|
1034
|
+
return null;
|
|
1035
|
+
}
|
|
1036
|
+
for (var _i = 0, _a = this.recaptchaEnforcementState; _i < _a.length; _i++) {
|
|
1037
|
+
var recaptchaEnforcementState = _a[_i];
|
|
1038
|
+
if (recaptchaEnforcementState.provider &&
|
|
1039
|
+
recaptchaEnforcementState.provider === providerStr) {
|
|
1040
|
+
return _parseEnforcementState(recaptchaEnforcementState.enforcementState);
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
return null;
|
|
1044
|
+
};
|
|
1045
|
+
/**
|
|
1046
|
+
* Returns true if the reCAPTCHA Enterprise enforcement state for the provider is set to ENFORCE or AUDIT.
|
|
1047
|
+
*
|
|
1048
|
+
* @param providerStr - The provider whose enablement state is to be returned.
|
|
1049
|
+
* @returns Whether or not reCAPTCHA Enterprise protection is enabled for the given provider.
|
|
1050
|
+
*/
|
|
1051
|
+
RecaptchaConfig.prototype.isProviderEnabled = function (providerStr) {
|
|
1052
|
+
return (this.getProviderEnforcementState(providerStr) ===
|
|
1053
|
+
"ENFORCE" /* EnforcementState.ENFORCE */ ||
|
|
1054
|
+
this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
|
|
1055
|
+
};
|
|
1056
|
+
return RecaptchaConfig;
|
|
1057
|
+
}());
|
|
1058
|
+
|
|
1001
1059
|
/**
|
|
1002
1060
|
* @license
|
|
1003
1061
|
* Copyright 2020 Google LLC
|
|
@@ -3680,6 +3738,39 @@ function injectRecaptchaFields(auth, request, action, captchaResp) {
|
|
|
3680
3738
|
});
|
|
3681
3739
|
});
|
|
3682
3740
|
}
|
|
3741
|
+
function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
|
|
3742
|
+
var _a;
|
|
3743
|
+
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
3744
|
+
var requestWithRecaptcha;
|
|
3745
|
+
var _this = this;
|
|
3746
|
+
return tslib.__generator(this, function (_b) {
|
|
3747
|
+
switch (_b.label) {
|
|
3748
|
+
case 0:
|
|
3749
|
+
if (!((_a = authInstance
|
|
3750
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */))) return [3 /*break*/, 2];
|
|
3751
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
|
|
3752
|
+
case 1:
|
|
3753
|
+
requestWithRecaptcha = _b.sent();
|
|
3754
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
|
|
3755
|
+
case 2: return [2 /*return*/, actionMethod(authInstance, request).catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
3756
|
+
var requestWithRecaptcha;
|
|
3757
|
+
return tslib.__generator(this, function (_a) {
|
|
3758
|
+
switch (_a.label) {
|
|
3759
|
+
case 0:
|
|
3760
|
+
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
3761
|
+
console.log("".concat(actionName, " is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."));
|
|
3762
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
|
|
3763
|
+
case 1:
|
|
3764
|
+
requestWithRecaptcha = _a.sent();
|
|
3765
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
|
|
3766
|
+
case 2: return [2 /*return*/, Promise.reject(error)];
|
|
3767
|
+
}
|
|
3768
|
+
});
|
|
3769
|
+
}); })];
|
|
3770
|
+
}
|
|
3771
|
+
});
|
|
3772
|
+
});
|
|
3773
|
+
}
|
|
3683
3774
|
function _initializeRecaptchaConfig(auth) {
|
|
3684
3775
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
3685
3776
|
var authInternal, response, config, verifier;
|
|
@@ -3700,7 +3791,7 @@ function _initializeRecaptchaConfig(auth) {
|
|
|
3700
3791
|
else {
|
|
3701
3792
|
authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
|
|
3702
3793
|
}
|
|
3703
|
-
if (config.
|
|
3794
|
+
if (config.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
|
|
3704
3795
|
verifier = new RecaptchaEnterpriseVerifier(authInternal);
|
|
3705
3796
|
void verifier.verify();
|
|
3706
3797
|
}
|
|
@@ -4166,55 +4257,27 @@ var EmailAuthCredential = /** @class */ (function (_super) {
|
|
|
4166
4257
|
};
|
|
4167
4258
|
/** @internal */
|
|
4168
4259
|
EmailAuthCredential.prototype._getIdTokenResponse = function (auth) {
|
|
4169
|
-
var _a;
|
|
4170
4260
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
4171
|
-
var
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
_b = this.signInMethod;
|
|
4177
|
-
switch (_b) {
|
|
4178
|
-
case "password" /* SignInMethod.EMAIL_PASSWORD */: return [3 /*break*/, 1];
|
|
4179
|
-
case "emailLink" /* SignInMethod.EMAIL_LINK */: return [3 /*break*/, 4];
|
|
4180
|
-
}
|
|
4181
|
-
return [3 /*break*/, 5];
|
|
4182
|
-
case 1:
|
|
4183
|
-
request_1 = {
|
|
4261
|
+
var request;
|
|
4262
|
+
return tslib.__generator(this, function (_a) {
|
|
4263
|
+
switch (this.signInMethod) {
|
|
4264
|
+
case "password" /* SignInMethod.EMAIL_PASSWORD */:
|
|
4265
|
+
request = {
|
|
4184
4266
|
returnSecureToken: true,
|
|
4185
4267
|
email: this._email,
|
|
4186
4268
|
password: this._password,
|
|
4187
4269
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
4188
4270
|
};
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
return tslib.__generator(this, function (_a) {
|
|
4197
|
-
switch (_a.label) {
|
|
4198
|
-
case 0:
|
|
4199
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
4200
|
-
console.log('Sign-in with email address and password is protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the sign-in flow.');
|
|
4201
|
-
return [4 /*yield*/, injectRecaptchaFields(auth, request_1, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */)];
|
|
4202
|
-
case 1:
|
|
4203
|
-
requestWithRecaptcha = _a.sent();
|
|
4204
|
-
return [2 /*return*/, signInWithPassword(auth, requestWithRecaptcha)];
|
|
4205
|
-
case 2: return [2 /*return*/, Promise.reject(error)];
|
|
4206
|
-
}
|
|
4207
|
-
});
|
|
4208
|
-
}); })];
|
|
4209
|
-
case 4: return [2 /*return*/, signInWithEmailLink$1(auth, {
|
|
4210
|
-
email: this._email,
|
|
4211
|
-
oobCode: this._password
|
|
4212
|
-
})];
|
|
4213
|
-
case 5:
|
|
4271
|
+
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword)];
|
|
4272
|
+
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
4273
|
+
return [2 /*return*/, signInWithEmailLink$1(auth, {
|
|
4274
|
+
email: this._email,
|
|
4275
|
+
oobCode: this._password
|
|
4276
|
+
})];
|
|
4277
|
+
default:
|
|
4214
4278
|
_fail(auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
|
|
4215
|
-
_c.label = 6;
|
|
4216
|
-
case 6: return [2 /*return*/];
|
|
4217
4279
|
}
|
|
4280
|
+
return [2 /*return*/];
|
|
4218
4281
|
});
|
|
4219
4282
|
});
|
|
4220
4283
|
};
|
|
@@ -6431,12 +6494,10 @@ function recachePasswordPolicy(auth) {
|
|
|
6431
6494
|
* @public
|
|
6432
6495
|
*/
|
|
6433
6496
|
function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
6434
|
-
var _a;
|
|
6435
6497
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
6436
|
-
var authInternal, request
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
switch (_b.label) {
|
|
6498
|
+
var authInternal, request;
|
|
6499
|
+
return tslib.__generator(this, function (_a) {
|
|
6500
|
+
switch (_a.label) {
|
|
6440
6501
|
case 0:
|
|
6441
6502
|
authInternal = _castAuth(auth);
|
|
6442
6503
|
request = {
|
|
@@ -6444,48 +6505,13 @@ function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
|
6444
6505
|
email: email,
|
|
6445
6506
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6446
6507
|
};
|
|
6447
|
-
if (!((_a = authInternal._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 3];
|
|
6448
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6449
|
-
case 1:
|
|
6450
|
-
requestWithRecaptcha = _b.sent();
|
|
6451
|
-
if (actionCodeSettings) {
|
|
6452
|
-
_setActionCodeSettingsOnRequest(authInternal, requestWithRecaptcha, actionCodeSettings);
|
|
6453
|
-
}
|
|
6454
|
-
return [4 /*yield*/, sendPasswordResetEmail$1(authInternal, requestWithRecaptcha)];
|
|
6455
|
-
case 2:
|
|
6456
|
-
_b.sent();
|
|
6457
|
-
return [3 /*break*/, 5];
|
|
6458
|
-
case 3:
|
|
6459
6508
|
if (actionCodeSettings) {
|
|
6460
6509
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
6461
6510
|
}
|
|
6462
|
-
return [4 /*yield*/,
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
switch (_a.label) {
|
|
6467
|
-
case 0:
|
|
6468
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 3];
|
|
6469
|
-
console.log('Password resets are protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the password reset flow.');
|
|
6470
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6471
|
-
case 1:
|
|
6472
|
-
requestWithRecaptcha = _a.sent();
|
|
6473
|
-
if (actionCodeSettings) {
|
|
6474
|
-
_setActionCodeSettingsOnRequest(authInternal, requestWithRecaptcha, actionCodeSettings);
|
|
6475
|
-
}
|
|
6476
|
-
return [4 /*yield*/, sendPasswordResetEmail$1(authInternal, requestWithRecaptcha)];
|
|
6477
|
-
case 2:
|
|
6478
|
-
_a.sent();
|
|
6479
|
-
return [3 /*break*/, 4];
|
|
6480
|
-
case 3: return [2 /*return*/, Promise.reject(error)];
|
|
6481
|
-
case 4: return [2 /*return*/];
|
|
6482
|
-
}
|
|
6483
|
-
});
|
|
6484
|
-
}); })];
|
|
6485
|
-
case 4:
|
|
6486
|
-
_b.sent();
|
|
6487
|
-
_b.label = 5;
|
|
6488
|
-
case 5: return [2 /*return*/];
|
|
6511
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1)];
|
|
6512
|
+
case 1:
|
|
6513
|
+
_a.sent();
|
|
6514
|
+
return [2 /*return*/];
|
|
6489
6515
|
}
|
|
6490
6516
|
});
|
|
6491
6517
|
});
|
|
@@ -6640,12 +6666,10 @@ function verifyPasswordResetCode(auth, code) {
|
|
|
6640
6666
|
* @public
|
|
6641
6667
|
*/
|
|
6642
6668
|
function createUserWithEmailAndPassword(auth, email, password) {
|
|
6643
|
-
var _a;
|
|
6644
6669
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
6645
|
-
var authInternal, request, signUpResponse,
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
switch (_b.label) {
|
|
6670
|
+
var authInternal, request, signUpResponse, response, userCredential;
|
|
6671
|
+
return tslib.__generator(this, function (_a) {
|
|
6672
|
+
switch (_a.label) {
|
|
6649
6673
|
case 0:
|
|
6650
6674
|
authInternal = _castAuth(auth);
|
|
6651
6675
|
request = {
|
|
@@ -6654,43 +6678,21 @@ function createUserWithEmailAndPassword(auth, email, password) {
|
|
|
6654
6678
|
password: password,
|
|
6655
6679
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6656
6680
|
};
|
|
6657
|
-
|
|
6658
|
-
return [4 /*yield*/,
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
signUpResponse = signUp(authInternal, requestWithRecaptcha);
|
|
6662
|
-
return [3 /*break*/, 3];
|
|
6663
|
-
case 2:
|
|
6664
|
-
signUpResponse = signUp(authInternal, request).catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
|
|
6665
|
-
var requestWithRecaptcha;
|
|
6666
|
-
return tslib.__generator(this, function (_a) {
|
|
6667
|
-
switch (_a.label) {
|
|
6668
|
-
case 0:
|
|
6669
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
6670
|
-
console.log('Sign-up is protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the sign-up flow.');
|
|
6671
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */)];
|
|
6672
|
-
case 1:
|
|
6673
|
-
requestWithRecaptcha = _a.sent();
|
|
6674
|
-
return [2 /*return*/, signUp(authInternal, requestWithRecaptcha)];
|
|
6675
|
-
case 2: throw error;
|
|
6681
|
+
signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
|
|
6682
|
+
return [4 /*yield*/, signUpResponse.catch(function (error) {
|
|
6683
|
+
if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
|
|
6684
|
+
void recachePasswordPolicy(auth);
|
|
6676
6685
|
}
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
|
|
6682
|
-
void recachePasswordPolicy(auth);
|
|
6683
|
-
}
|
|
6684
|
-
throw error;
|
|
6685
|
-
})];
|
|
6686
|
-
case 4:
|
|
6687
|
-
response = _b.sent();
|
|
6686
|
+
throw error;
|
|
6687
|
+
})];
|
|
6688
|
+
case 1:
|
|
6689
|
+
response = _a.sent();
|
|
6688
6690
|
return [4 /*yield*/, UserCredentialImpl._fromIdTokenResponse(authInternal, "signIn" /* OperationType.SIGN_IN */, response)];
|
|
6689
|
-
case
|
|
6690
|
-
userCredential =
|
|
6691
|
+
case 2:
|
|
6692
|
+
userCredential = _a.sent();
|
|
6691
6693
|
return [4 /*yield*/, authInternal._updateCurrentUser(userCredential.user)];
|
|
6692
|
-
case
|
|
6693
|
-
|
|
6694
|
+
case 3:
|
|
6695
|
+
_a.sent();
|
|
6694
6696
|
return [2 /*return*/, userCredential];
|
|
6695
6697
|
}
|
|
6696
6698
|
});
|
|
@@ -6779,7 +6781,6 @@ function signInWithEmailAndPassword(auth, email, password) {
|
|
|
6779
6781
|
* @public
|
|
6780
6782
|
*/
|
|
6781
6783
|
function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
6782
|
-
var _a;
|
|
6783
6784
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
6784
6785
|
function setActionCodeSettings(request, actionCodeSettings) {
|
|
6785
6786
|
_assert(actionCodeSettings.handleCodeInApp, authInternal, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
@@ -6787,10 +6788,9 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
6787
6788
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
6788
6789
|
}
|
|
6789
6790
|
}
|
|
6790
|
-
var authInternal, request
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
switch (_b.label) {
|
|
6791
|
+
var authInternal, request;
|
|
6792
|
+
return tslib.__generator(this, function (_a) {
|
|
6793
|
+
switch (_a.label) {
|
|
6794
6794
|
case 0:
|
|
6795
6795
|
authInternal = _castAuth(auth);
|
|
6796
6796
|
request = {
|
|
@@ -6798,42 +6798,11 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
6798
6798
|
email: email,
|
|
6799
6799
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6800
6800
|
};
|
|
6801
|
-
if (!((_a = authInternal._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 3];
|
|
6802
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6803
|
-
case 1:
|
|
6804
|
-
requestWithRecaptcha = _b.sent();
|
|
6805
|
-
setActionCodeSettings(requestWithRecaptcha, actionCodeSettings);
|
|
6806
|
-
return [4 /*yield*/, sendSignInLinkToEmail$1(authInternal, requestWithRecaptcha)];
|
|
6807
|
-
case 2:
|
|
6808
|
-
_b.sent();
|
|
6809
|
-
return [3 /*break*/, 5];
|
|
6810
|
-
case 3:
|
|
6811
6801
|
setActionCodeSettings(request, actionCodeSettings);
|
|
6812
|
-
return [4 /*yield*/,
|
|
6813
|
-
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
switch (_a.label) {
|
|
6817
|
-
case 0:
|
|
6818
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 3];
|
|
6819
|
-
console.log('Email link sign-in is protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the sign-in flow.');
|
|
6820
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6821
|
-
case 1:
|
|
6822
|
-
requestWithRecaptcha = _a.sent();
|
|
6823
|
-
setActionCodeSettings(requestWithRecaptcha, actionCodeSettings);
|
|
6824
|
-
return [4 /*yield*/, sendSignInLinkToEmail$1(authInternal, requestWithRecaptcha)];
|
|
6825
|
-
case 2:
|
|
6826
|
-
_a.sent();
|
|
6827
|
-
return [3 /*break*/, 4];
|
|
6828
|
-
case 3: return [2 /*return*/, Promise.reject(error)];
|
|
6829
|
-
case 4: return [2 /*return*/];
|
|
6830
|
-
}
|
|
6831
|
-
});
|
|
6832
|
-
}); })];
|
|
6833
|
-
case 4:
|
|
6834
|
-
_b.sent();
|
|
6835
|
-
_b.label = 5;
|
|
6836
|
-
case 5: return [2 /*return*/];
|
|
6802
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1)];
|
|
6803
|
+
case 1:
|
|
6804
|
+
_a.sent();
|
|
6805
|
+
return [2 /*return*/];
|
|
6837
6806
|
}
|
|
6838
6807
|
});
|
|
6839
6808
|
});
|
|
@@ -7913,7 +7882,7 @@ function multiFactor(user) {
|
|
|
7913
7882
|
}
|
|
7914
7883
|
|
|
7915
7884
|
var name = "@firebase/auth";
|
|
7916
|
-
var version = "1.3.
|
|
7885
|
+
var version = "1.3.1-20231025123451";
|
|
7917
7886
|
|
|
7918
7887
|
/**
|
|
7919
7888
|
* @license
|
|
@@ -9398,4 +9367,4 @@ exports.useDeviceLanguage = useDeviceLanguage;
|
|
|
9398
9367
|
exports.validatePassword = validatePassword;
|
|
9399
9368
|
exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
|
|
9400
9369
|
exports.verifyPasswordResetCode = verifyPasswordResetCode;
|
|
9401
|
-
//# sourceMappingURL=index-
|
|
9370
|
+
//# sourceMappingURL=index-134d3a30.js.map
|