@firebase/auth 1.3.0-canary.eff95304d → 1.3.0-canary.f002ef36a
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-bbdc1888.js → index-3d97c204.js} +133 -127
- package/dist/browser-cjs/index-3d97c204.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-f62a8012.js → popup_redirect-9281c39f.js} +183 -214
- package/dist/cordova/popup_redirect-9281c39f.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-2e980710.js → index-3000f55e.js} +133 -127
- package/dist/esm2017/index-3000f55e.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-ad762403.js → index-764f9bd9.js} +183 -214
- package/dist/esm5/index-764f9bd9.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-99dfc228.js → totp-359f3930.js} +179 -210
- package/dist/node/totp-359f3930.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-6a7976b7.js → totp-3e8532c1.js} +129 -123
- package/dist/node-esm/totp-3e8532c1.js.map +1 -0
- package/dist/rn/{index-1737b0ce.js → index-fef1349d.js} +183 -214
- package/dist/rn/index-fef1349d.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 +6 -6
- package/dist/browser-cjs/index-bbdc1888.js.map +0 -1
- package/dist/cordova/popup_redirect-f62a8012.js.map +0 -1
- package/dist/esm2017/index-2e980710.js.map +0 -1
- package/dist/esm5/index-ad762403.js.map +0 -1
- package/dist/node/totp-99dfc228.js.map +0 -1
- package/dist/node-esm/totp-6a7976b7.js.map +0 -1
- package/dist/rn/index-1737b0ce.js.map +0 -1
|
@@ -103,53 +103,6 @@ var ActionCodeOperation = {
|
|
|
103
103
|
VERIFY_EMAIL: 'VERIFY_EMAIL'
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
/**
|
|
107
|
-
* @license
|
|
108
|
-
* Copyright 2020 Google LLC
|
|
109
|
-
*
|
|
110
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
111
|
-
* you may not use this file except in compliance with the License.
|
|
112
|
-
* You may obtain a copy of the License at
|
|
113
|
-
*
|
|
114
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
115
|
-
*
|
|
116
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
117
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
118
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
119
|
-
* See the License for the specific language governing permissions and
|
|
120
|
-
* limitations under the License.
|
|
121
|
-
*/
|
|
122
|
-
function isV2(grecaptcha) {
|
|
123
|
-
return (grecaptcha !== undefined &&
|
|
124
|
-
grecaptcha.getResponse !== undefined);
|
|
125
|
-
}
|
|
126
|
-
function isEnterprise(grecaptcha) {
|
|
127
|
-
return (grecaptcha !== undefined &&
|
|
128
|
-
grecaptcha.enterprise !== undefined);
|
|
129
|
-
}
|
|
130
|
-
var RecaptchaConfig = /** @class */ (function () {
|
|
131
|
-
function RecaptchaConfig(response) {
|
|
132
|
-
/**
|
|
133
|
-
* The reCAPTCHA site key.
|
|
134
|
-
*/
|
|
135
|
-
this.siteKey = '';
|
|
136
|
-
/**
|
|
137
|
-
* The reCAPTCHA enablement status of the {@link EmailAuthProvider} for the current tenant.
|
|
138
|
-
*/
|
|
139
|
-
this.emailPasswordEnabled = false;
|
|
140
|
-
if (response.recaptchaKey === undefined) {
|
|
141
|
-
throw new Error('recaptchaKey undefined');
|
|
142
|
-
}
|
|
143
|
-
// Example response.recaptchaKey: "projects/proj123/keys/sitekey123"
|
|
144
|
-
this.siteKey = response.recaptchaKey.split('/')[3];
|
|
145
|
-
this.emailPasswordEnabled = response.recaptchaEnforcementState.some(function (enforcementState) {
|
|
146
|
-
return enforcementState.provider === 'EMAIL_PASSWORD_PROVIDER' &&
|
|
147
|
-
enforcementState.enforcementState !== 'OFF';
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
return RecaptchaConfig;
|
|
151
|
-
}());
|
|
152
|
-
|
|
153
106
|
/**
|
|
154
107
|
* @license
|
|
155
108
|
* Copyright 2020 Google LLC
|
|
@@ -790,6 +743,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
790
743
|
if (typeof self !== 'undefined' && 'fetch' in self) {
|
|
791
744
|
return self.fetch;
|
|
792
745
|
}
|
|
746
|
+
if (typeof globalThis !== 'undefined' && globalThis.fetch) {
|
|
747
|
+
return globalThis.fetch;
|
|
748
|
+
}
|
|
749
|
+
if (typeof fetch !== 'undefined') {
|
|
750
|
+
return fetch;
|
|
751
|
+
}
|
|
793
752
|
debugFail('Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
794
753
|
};
|
|
795
754
|
FetchProvider.headers = function () {
|
|
@@ -799,6 +758,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
799
758
|
if (typeof self !== 'undefined' && 'Headers' in self) {
|
|
800
759
|
return self.Headers;
|
|
801
760
|
}
|
|
761
|
+
if (typeof globalThis !== 'undefined' && globalThis.Headers) {
|
|
762
|
+
return globalThis.Headers;
|
|
763
|
+
}
|
|
764
|
+
if (typeof Headers !== 'undefined') {
|
|
765
|
+
return Headers;
|
|
766
|
+
}
|
|
802
767
|
debugFail('Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
803
768
|
};
|
|
804
769
|
FetchProvider.response = function () {
|
|
@@ -808,6 +773,12 @@ var FetchProvider = /** @class */ (function () {
|
|
|
808
773
|
if (typeof self !== 'undefined' && 'Response' in self) {
|
|
809
774
|
return self.Response;
|
|
810
775
|
}
|
|
776
|
+
if (typeof globalThis !== 'undefined' && globalThis.Response) {
|
|
777
|
+
return globalThis.Response;
|
|
778
|
+
}
|
|
779
|
+
if (typeof Response !== 'undefined') {
|
|
780
|
+
return Response;
|
|
781
|
+
}
|
|
811
782
|
debugFail('Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill');
|
|
812
783
|
};
|
|
813
784
|
return FetchProvider;
|
|
@@ -1060,6 +1031,18 @@ function _getFinalTarget(auth, host, path, query) {
|
|
|
1060
1031
|
}
|
|
1061
1032
|
return _emulatorUrl(auth.config, base);
|
|
1062
1033
|
}
|
|
1034
|
+
function _parseEnforcementState(enforcementStateStr) {
|
|
1035
|
+
switch (enforcementStateStr) {
|
|
1036
|
+
case 'ENFORCE':
|
|
1037
|
+
return "ENFORCE" /* EnforcementState.ENFORCE */;
|
|
1038
|
+
case 'AUDIT':
|
|
1039
|
+
return "AUDIT" /* EnforcementState.AUDIT */;
|
|
1040
|
+
case 'OFF':
|
|
1041
|
+
return "OFF" /* EnforcementState.OFF */;
|
|
1042
|
+
default:
|
|
1043
|
+
return "ENFORCEMENT_STATE_UNSPECIFIED" /* EnforcementState.ENFORCEMENT_STATE_UNSPECIFIED */;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1063
1046
|
var NetworkTimeout = /** @class */ (function () {
|
|
1064
1047
|
function NetworkTimeout(auth) {
|
|
1065
1048
|
var _this = this;
|
|
@@ -1095,6 +1078,81 @@ function _makeTaggedError(auth, code, response) {
|
|
|
1095
1078
|
return error;
|
|
1096
1079
|
}
|
|
1097
1080
|
|
|
1081
|
+
/**
|
|
1082
|
+
* @license
|
|
1083
|
+
* Copyright 2020 Google LLC
|
|
1084
|
+
*
|
|
1085
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1086
|
+
* you may not use this file except in compliance with the License.
|
|
1087
|
+
* You may obtain a copy of the License at
|
|
1088
|
+
*
|
|
1089
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1090
|
+
*
|
|
1091
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1092
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1093
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1094
|
+
* See the License for the specific language governing permissions and
|
|
1095
|
+
* limitations under the License.
|
|
1096
|
+
*/
|
|
1097
|
+
function isV2(grecaptcha) {
|
|
1098
|
+
return (grecaptcha !== undefined &&
|
|
1099
|
+
grecaptcha.getResponse !== undefined);
|
|
1100
|
+
}
|
|
1101
|
+
function isEnterprise(grecaptcha) {
|
|
1102
|
+
return (grecaptcha !== undefined &&
|
|
1103
|
+
grecaptcha.enterprise !== undefined);
|
|
1104
|
+
}
|
|
1105
|
+
var RecaptchaConfig = /** @class */ (function () {
|
|
1106
|
+
function RecaptchaConfig(response) {
|
|
1107
|
+
/**
|
|
1108
|
+
* The reCAPTCHA site key.
|
|
1109
|
+
*/
|
|
1110
|
+
this.siteKey = '';
|
|
1111
|
+
/**
|
|
1112
|
+
* The list of providers and their enablement status for reCAPTCHA Enterprise.
|
|
1113
|
+
*/
|
|
1114
|
+
this.recaptchaEnforcementState = [];
|
|
1115
|
+
if (response.recaptchaKey === undefined) {
|
|
1116
|
+
throw new Error('recaptchaKey undefined');
|
|
1117
|
+
}
|
|
1118
|
+
// Example response.recaptchaKey: "projects/proj123/keys/sitekey123"
|
|
1119
|
+
this.siteKey = response.recaptchaKey.split('/')[3];
|
|
1120
|
+
this.recaptchaEnforcementState = response.recaptchaEnforcementState;
|
|
1121
|
+
}
|
|
1122
|
+
/**
|
|
1123
|
+
* Returns the reCAPTCHA Enterprise enforcement state for the given provider.
|
|
1124
|
+
*
|
|
1125
|
+
* @param providerStr - The provider whose enforcement state is to be returned.
|
|
1126
|
+
* @returns The reCAPTCHA Enterprise enforcement state for the given provider.
|
|
1127
|
+
*/
|
|
1128
|
+
RecaptchaConfig.prototype.getProviderEnforcementState = function (providerStr) {
|
|
1129
|
+
if (!this.recaptchaEnforcementState ||
|
|
1130
|
+
this.recaptchaEnforcementState.length === 0) {
|
|
1131
|
+
return null;
|
|
1132
|
+
}
|
|
1133
|
+
for (var _i = 0, _a = this.recaptchaEnforcementState; _i < _a.length; _i++) {
|
|
1134
|
+
var recaptchaEnforcementState = _a[_i];
|
|
1135
|
+
if (recaptchaEnforcementState.provider &&
|
|
1136
|
+
recaptchaEnforcementState.provider === providerStr) {
|
|
1137
|
+
return _parseEnforcementState(recaptchaEnforcementState.enforcementState);
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
return null;
|
|
1141
|
+
};
|
|
1142
|
+
/**
|
|
1143
|
+
* Returns true if the reCAPTCHA Enterprise enforcement state for the provider is set to ENFORCE or AUDIT.
|
|
1144
|
+
*
|
|
1145
|
+
* @param providerStr - The provider whose enablement state is to be returned.
|
|
1146
|
+
* @returns Whether or not reCAPTCHA Enterprise protection is enabled for the given provider.
|
|
1147
|
+
*/
|
|
1148
|
+
RecaptchaConfig.prototype.isProviderEnabled = function (providerStr) {
|
|
1149
|
+
return (this.getProviderEnforcementState(providerStr) ===
|
|
1150
|
+
"ENFORCE" /* EnforcementState.ENFORCE */ ||
|
|
1151
|
+
this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
|
|
1152
|
+
};
|
|
1153
|
+
return RecaptchaConfig;
|
|
1154
|
+
}());
|
|
1155
|
+
|
|
1098
1156
|
/**
|
|
1099
1157
|
* @license
|
|
1100
1158
|
* Copyright 2020 Google LLC
|
|
@@ -3777,6 +3835,39 @@ function injectRecaptchaFields(auth, request, action, captchaResp) {
|
|
|
3777
3835
|
});
|
|
3778
3836
|
});
|
|
3779
3837
|
}
|
|
3838
|
+
function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
|
|
3839
|
+
var _a;
|
|
3840
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3841
|
+
var requestWithRecaptcha;
|
|
3842
|
+
var _this = this;
|
|
3843
|
+
return __generator(this, function (_b) {
|
|
3844
|
+
switch (_b.label) {
|
|
3845
|
+
case 0:
|
|
3846
|
+
if (!((_a = authInstance
|
|
3847
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */))) return [3 /*break*/, 2];
|
|
3848
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
|
|
3849
|
+
case 1:
|
|
3850
|
+
requestWithRecaptcha = _b.sent();
|
|
3851
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
|
|
3852
|
+
case 2: return [2 /*return*/, actionMethod(authInstance, request).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {
|
|
3853
|
+
var requestWithRecaptcha;
|
|
3854
|
+
return __generator(this, function (_a) {
|
|
3855
|
+
switch (_a.label) {
|
|
3856
|
+
case 0:
|
|
3857
|
+
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
3858
|
+
console.log("".concat(actionName, " is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."));
|
|
3859
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
|
|
3860
|
+
case 1:
|
|
3861
|
+
requestWithRecaptcha = _a.sent();
|
|
3862
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
|
|
3863
|
+
case 2: return [2 /*return*/, Promise.reject(error)];
|
|
3864
|
+
}
|
|
3865
|
+
});
|
|
3866
|
+
}); })];
|
|
3867
|
+
}
|
|
3868
|
+
});
|
|
3869
|
+
});
|
|
3870
|
+
}
|
|
3780
3871
|
function _initializeRecaptchaConfig(auth) {
|
|
3781
3872
|
return __awaiter(this, void 0, void 0, function () {
|
|
3782
3873
|
var authInternal, response, config, verifier;
|
|
@@ -3797,7 +3888,7 @@ function _initializeRecaptchaConfig(auth) {
|
|
|
3797
3888
|
else {
|
|
3798
3889
|
authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
|
|
3799
3890
|
}
|
|
3800
|
-
if (config.
|
|
3891
|
+
if (config.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
|
|
3801
3892
|
verifier = new RecaptchaEnterpriseVerifier(authInternal);
|
|
3802
3893
|
void verifier.verify();
|
|
3803
3894
|
}
|
|
@@ -4263,55 +4354,27 @@ var EmailAuthCredential = /** @class */ (function (_super) {
|
|
|
4263
4354
|
};
|
|
4264
4355
|
/** @internal */
|
|
4265
4356
|
EmailAuthCredential.prototype._getIdTokenResponse = function (auth) {
|
|
4266
|
-
var _a;
|
|
4267
4357
|
return __awaiter(this, void 0, void 0, function () {
|
|
4268
|
-
var
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
_b = this.signInMethod;
|
|
4274
|
-
switch (_b) {
|
|
4275
|
-
case "password" /* SignInMethod.EMAIL_PASSWORD */: return [3 /*break*/, 1];
|
|
4276
|
-
case "emailLink" /* SignInMethod.EMAIL_LINK */: return [3 /*break*/, 4];
|
|
4277
|
-
}
|
|
4278
|
-
return [3 /*break*/, 5];
|
|
4279
|
-
case 1:
|
|
4280
|
-
request_1 = {
|
|
4358
|
+
var request;
|
|
4359
|
+
return __generator(this, function (_a) {
|
|
4360
|
+
switch (this.signInMethod) {
|
|
4361
|
+
case "password" /* SignInMethod.EMAIL_PASSWORD */:
|
|
4362
|
+
request = {
|
|
4281
4363
|
returnSecureToken: true,
|
|
4282
4364
|
email: this._email,
|
|
4283
4365
|
password: this._password,
|
|
4284
4366
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
4285
4367
|
};
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
return __generator(this, function (_a) {
|
|
4294
|
-
switch (_a.label) {
|
|
4295
|
-
case 0:
|
|
4296
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
4297
|
-
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.');
|
|
4298
|
-
return [4 /*yield*/, injectRecaptchaFields(auth, request_1, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */)];
|
|
4299
|
-
case 1:
|
|
4300
|
-
requestWithRecaptcha = _a.sent();
|
|
4301
|
-
return [2 /*return*/, signInWithPassword(auth, requestWithRecaptcha)];
|
|
4302
|
-
case 2: return [2 /*return*/, Promise.reject(error)];
|
|
4303
|
-
}
|
|
4304
|
-
});
|
|
4305
|
-
}); })];
|
|
4306
|
-
case 4: return [2 /*return*/, signInWithEmailLink$1(auth, {
|
|
4307
|
-
email: this._email,
|
|
4308
|
-
oobCode: this._password
|
|
4309
|
-
})];
|
|
4310
|
-
case 5:
|
|
4368
|
+
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword)];
|
|
4369
|
+
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
4370
|
+
return [2 /*return*/, signInWithEmailLink$1(auth, {
|
|
4371
|
+
email: this._email,
|
|
4372
|
+
oobCode: this._password
|
|
4373
|
+
})];
|
|
4374
|
+
default:
|
|
4311
4375
|
_fail(auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
|
|
4312
|
-
_c.label = 6;
|
|
4313
|
-
case 6: return [2 /*return*/];
|
|
4314
4376
|
}
|
|
4377
|
+
return [2 /*return*/];
|
|
4315
4378
|
});
|
|
4316
4379
|
});
|
|
4317
4380
|
};
|
|
@@ -6528,12 +6591,10 @@ function recachePasswordPolicy(auth) {
|
|
|
6528
6591
|
* @public
|
|
6529
6592
|
*/
|
|
6530
6593
|
function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
6531
|
-
var _a;
|
|
6532
6594
|
return __awaiter(this, void 0, void 0, function () {
|
|
6533
|
-
var authInternal, request
|
|
6534
|
-
|
|
6535
|
-
|
|
6536
|
-
switch (_b.label) {
|
|
6595
|
+
var authInternal, request;
|
|
6596
|
+
return __generator(this, function (_a) {
|
|
6597
|
+
switch (_a.label) {
|
|
6537
6598
|
case 0:
|
|
6538
6599
|
authInternal = _castAuth(auth);
|
|
6539
6600
|
request = {
|
|
@@ -6541,48 +6602,13 @@ function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
|
6541
6602
|
email: email,
|
|
6542
6603
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6543
6604
|
};
|
|
6544
|
-
if (!((_a = authInternal._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 3];
|
|
6545
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6546
|
-
case 1:
|
|
6547
|
-
requestWithRecaptcha = _b.sent();
|
|
6548
|
-
if (actionCodeSettings) {
|
|
6549
|
-
_setActionCodeSettingsOnRequest(authInternal, requestWithRecaptcha, actionCodeSettings);
|
|
6550
|
-
}
|
|
6551
|
-
return [4 /*yield*/, sendPasswordResetEmail$1(authInternal, requestWithRecaptcha)];
|
|
6552
|
-
case 2:
|
|
6553
|
-
_b.sent();
|
|
6554
|
-
return [3 /*break*/, 5];
|
|
6555
|
-
case 3:
|
|
6556
6605
|
if (actionCodeSettings) {
|
|
6557
6606
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
6558
6607
|
}
|
|
6559
|
-
return [4 /*yield*/,
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
switch (_a.label) {
|
|
6564
|
-
case 0:
|
|
6565
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 3];
|
|
6566
|
-
console.log('Password resets are protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the password reset flow.');
|
|
6567
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6568
|
-
case 1:
|
|
6569
|
-
requestWithRecaptcha = _a.sent();
|
|
6570
|
-
if (actionCodeSettings) {
|
|
6571
|
-
_setActionCodeSettingsOnRequest(authInternal, requestWithRecaptcha, actionCodeSettings);
|
|
6572
|
-
}
|
|
6573
|
-
return [4 /*yield*/, sendPasswordResetEmail$1(authInternal, requestWithRecaptcha)];
|
|
6574
|
-
case 2:
|
|
6575
|
-
_a.sent();
|
|
6576
|
-
return [3 /*break*/, 4];
|
|
6577
|
-
case 3: return [2 /*return*/, Promise.reject(error)];
|
|
6578
|
-
case 4: return [2 /*return*/];
|
|
6579
|
-
}
|
|
6580
|
-
});
|
|
6581
|
-
}); })];
|
|
6582
|
-
case 4:
|
|
6583
|
-
_b.sent();
|
|
6584
|
-
_b.label = 5;
|
|
6585
|
-
case 5: return [2 /*return*/];
|
|
6608
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1)];
|
|
6609
|
+
case 1:
|
|
6610
|
+
_a.sent();
|
|
6611
|
+
return [2 /*return*/];
|
|
6586
6612
|
}
|
|
6587
6613
|
});
|
|
6588
6614
|
});
|
|
@@ -6737,12 +6763,10 @@ function verifyPasswordResetCode(auth, code) {
|
|
|
6737
6763
|
* @public
|
|
6738
6764
|
*/
|
|
6739
6765
|
function createUserWithEmailAndPassword(auth, email, password) {
|
|
6740
|
-
var _a;
|
|
6741
6766
|
return __awaiter(this, void 0, void 0, function () {
|
|
6742
|
-
var authInternal, request, signUpResponse,
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
switch (_b.label) {
|
|
6767
|
+
var authInternal, request, signUpResponse, response, userCredential;
|
|
6768
|
+
return __generator(this, function (_a) {
|
|
6769
|
+
switch (_a.label) {
|
|
6746
6770
|
case 0:
|
|
6747
6771
|
authInternal = _castAuth(auth);
|
|
6748
6772
|
request = {
|
|
@@ -6751,43 +6775,21 @@ function createUserWithEmailAndPassword(auth, email, password) {
|
|
|
6751
6775
|
password: password,
|
|
6752
6776
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6753
6777
|
};
|
|
6754
|
-
|
|
6755
|
-
return [4 /*yield*/,
|
|
6756
|
-
|
|
6757
|
-
|
|
6758
|
-
signUpResponse = signUp(authInternal, requestWithRecaptcha);
|
|
6759
|
-
return [3 /*break*/, 3];
|
|
6760
|
-
case 2:
|
|
6761
|
-
signUpResponse = signUp(authInternal, request).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {
|
|
6762
|
-
var requestWithRecaptcha;
|
|
6763
|
-
return __generator(this, function (_a) {
|
|
6764
|
-
switch (_a.label) {
|
|
6765
|
-
case 0:
|
|
6766
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
|
|
6767
|
-
console.log('Sign-up is protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the sign-up flow.');
|
|
6768
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */)];
|
|
6769
|
-
case 1:
|
|
6770
|
-
requestWithRecaptcha = _a.sent();
|
|
6771
|
-
return [2 /*return*/, signUp(authInternal, requestWithRecaptcha)];
|
|
6772
|
-
case 2: throw error;
|
|
6778
|
+
signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
|
|
6779
|
+
return [4 /*yield*/, signUpResponse.catch(function (error) {
|
|
6780
|
+
if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
|
|
6781
|
+
void recachePasswordPolicy(auth);
|
|
6773
6782
|
}
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
|
|
6779
|
-
void recachePasswordPolicy(auth);
|
|
6780
|
-
}
|
|
6781
|
-
throw error;
|
|
6782
|
-
})];
|
|
6783
|
-
case 4:
|
|
6784
|
-
response = _b.sent();
|
|
6783
|
+
throw error;
|
|
6784
|
+
})];
|
|
6785
|
+
case 1:
|
|
6786
|
+
response = _a.sent();
|
|
6785
6787
|
return [4 /*yield*/, UserCredentialImpl._fromIdTokenResponse(authInternal, "signIn" /* OperationType.SIGN_IN */, response)];
|
|
6786
|
-
case
|
|
6787
|
-
userCredential =
|
|
6788
|
+
case 2:
|
|
6789
|
+
userCredential = _a.sent();
|
|
6788
6790
|
return [4 /*yield*/, authInternal._updateCurrentUser(userCredential.user)];
|
|
6789
|
-
case
|
|
6790
|
-
|
|
6791
|
+
case 3:
|
|
6792
|
+
_a.sent();
|
|
6791
6793
|
return [2 /*return*/, userCredential];
|
|
6792
6794
|
}
|
|
6793
6795
|
});
|
|
@@ -6876,7 +6878,6 @@ function signInWithEmailAndPassword(auth, email, password) {
|
|
|
6876
6878
|
* @public
|
|
6877
6879
|
*/
|
|
6878
6880
|
function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
6879
|
-
var _a;
|
|
6880
6881
|
return __awaiter(this, void 0, void 0, function () {
|
|
6881
6882
|
function setActionCodeSettings(request, actionCodeSettings) {
|
|
6882
6883
|
_assert(actionCodeSettings.handleCodeInApp, authInternal, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
@@ -6884,10 +6885,9 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
6884
6885
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
6885
6886
|
}
|
|
6886
6887
|
}
|
|
6887
|
-
var authInternal, request
|
|
6888
|
-
|
|
6889
|
-
|
|
6890
|
-
switch (_b.label) {
|
|
6888
|
+
var authInternal, request;
|
|
6889
|
+
return __generator(this, function (_a) {
|
|
6890
|
+
switch (_a.label) {
|
|
6891
6891
|
case 0:
|
|
6892
6892
|
authInternal = _castAuth(auth);
|
|
6893
6893
|
request = {
|
|
@@ -6895,42 +6895,11 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
6895
6895
|
email: email,
|
|
6896
6896
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
6897
6897
|
};
|
|
6898
|
-
if (!((_a = authInternal._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 3];
|
|
6899
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6900
|
-
case 1:
|
|
6901
|
-
requestWithRecaptcha = _b.sent();
|
|
6902
|
-
setActionCodeSettings(requestWithRecaptcha, actionCodeSettings);
|
|
6903
|
-
return [4 /*yield*/, sendSignInLinkToEmail$1(authInternal, requestWithRecaptcha)];
|
|
6904
|
-
case 2:
|
|
6905
|
-
_b.sent();
|
|
6906
|
-
return [3 /*break*/, 5];
|
|
6907
|
-
case 3:
|
|
6908
6898
|
setActionCodeSettings(request, actionCodeSettings);
|
|
6909
|
-
return [4 /*yield*/,
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6913
|
-
switch (_a.label) {
|
|
6914
|
-
case 0:
|
|
6915
|
-
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 3];
|
|
6916
|
-
console.log('Email link sign-in is protected by reCAPTCHA for this project. Automatically triggering the reCAPTCHA flow and restarting the sign-in flow.');
|
|
6917
|
-
return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, true)];
|
|
6918
|
-
case 1:
|
|
6919
|
-
requestWithRecaptcha = _a.sent();
|
|
6920
|
-
setActionCodeSettings(requestWithRecaptcha, actionCodeSettings);
|
|
6921
|
-
return [4 /*yield*/, sendSignInLinkToEmail$1(authInternal, requestWithRecaptcha)];
|
|
6922
|
-
case 2:
|
|
6923
|
-
_a.sent();
|
|
6924
|
-
return [3 /*break*/, 4];
|
|
6925
|
-
case 3: return [2 /*return*/, Promise.reject(error)];
|
|
6926
|
-
case 4: return [2 /*return*/];
|
|
6927
|
-
}
|
|
6928
|
-
});
|
|
6929
|
-
}); })];
|
|
6930
|
-
case 4:
|
|
6931
|
-
_b.sent();
|
|
6932
|
-
_b.label = 5;
|
|
6933
|
-
case 5: return [2 /*return*/];
|
|
6899
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1)];
|
|
6900
|
+
case 1:
|
|
6901
|
+
_a.sent();
|
|
6902
|
+
return [2 /*return*/];
|
|
6934
6903
|
}
|
|
6935
6904
|
});
|
|
6936
6905
|
});
|
|
@@ -12214,7 +12183,7 @@ function _isEmptyString(input) {
|
|
|
12214
12183
|
}
|
|
12215
12184
|
|
|
12216
12185
|
var name = "@firebase/auth";
|
|
12217
|
-
var version = "1.3.0-canary.
|
|
12186
|
+
var version = "1.3.0-canary.f002ef36a";
|
|
12218
12187
|
|
|
12219
12188
|
/**
|
|
12220
12189
|
* @license
|
|
@@ -12467,4 +12436,4 @@ function getAuth(app) {
|
|
|
12467
12436
|
registerAuth("Browser" /* ClientPlatform.BROWSER */);
|
|
12468
12437
|
|
|
12469
12438
|
export { signInAnonymously as $, ActionCodeOperation as A, updateCurrentUser as B, signOut as C, deleteUser as D, debugErrorMap as E, FactorId as F, prodErrorMap as G, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as H, initializeAuth as I, connectAuthEmulator as J, AuthCredential as K, EmailAuthCredential as L, OAuthCredential as M, PhoneAuthCredential as N, OperationType as O, PhoneAuthProvider as P, inMemoryPersistence as Q, RecaptchaVerifier as R, SignInMethod as S, TotpMultiFactorGenerator as T, EmailAuthProvider as U, FacebookAuthProvider as V, GoogleAuthProvider as W, GithubAuthProvider as X, OAuthProvider as Y, SAMLAuthProvider as Z, TwitterAuthProvider as _, browserSessionPersistence as a, signInWithCredential as a0, linkWithCredential as a1, reauthenticateWithCredential as a2, signInWithCustomToken as a3, sendPasswordResetEmail as a4, confirmPasswordReset as a5, applyActionCode as a6, checkActionCode as a7, verifyPasswordResetCode as a8, createUserWithEmailAndPassword as a9, _assert as aA, _createError as aB, AuthEventManager as aC, _getInstance as aD, _persistenceKeyName as aE, _clearRedirectOutcomes as aF, _getRedirectResult as aG, _overrideRedirectResult as aH, _castAuth as aI, UserImpl as aJ, AuthImpl as aK, _getClientVersion as aL, _generateEventId as aM, AuthPopup as aN, FetchProvider as aO, SAMLAuthCredential as aP, signInWithEmailAndPassword as aa, sendSignInLinkToEmail as ab, isSignInWithEmailLink as ac, signInWithEmailLink as ad, fetchSignInMethodsForEmail as ae, sendEmailVerification as af, verifyBeforeUpdateEmail as ag, ActionCodeURL as ah, parseActionCodeURL as ai, updateProfile as aj, updateEmail as ak, updatePassword as al, getIdToken as am, getIdTokenResult as an, unlink as ao, getAdditionalUserInfo as ap, reload as aq, getMultiFactorResolver as ar, multiFactor as as, _isIOS as at, _isAndroid as au, _fail as av, _getRedirectUrl as aw, debugAssert as ax, _getProjectConfig as ay, _isIOS7Or8 as az, browserLocalPersistence as b, signInWithPopup as c, linkWithPopup as d, reauthenticateWithPopup as e, signInWithRedirect as f, linkWithRedirect as g, reauthenticateWithRedirect as h, indexedDBLocalPersistence as i, getRedirectResult as j, browserPopupRedirectResolver as k, linkWithPhoneNumber as l, PhoneMultiFactorGenerator as m, TotpSecret as n, getAuth as o, ProviderId as p, setPersistence as q, reauthenticateWithPhoneNumber as r, signInWithPhoneNumber as s, initializeRecaptchaConfig as t, updatePhoneNumber as u, validatePassword as v, onIdTokenChanged as w, beforeAuthStateChanged as x, onAuthStateChanged as y, useDeviceLanguage as z };
|
|
12470
|
-
//# sourceMappingURL=index-
|
|
12439
|
+
//# sourceMappingURL=index-764f9bd9.js.map
|