@firebase/auth 1.3.0-canary.60e4a07d2 → 1.3.0-canary.698eeb67d

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.
Files changed (72) hide show
  1. package/dist/auth-public.d.ts +25 -4
  2. package/dist/auth.d.ts +25 -4
  3. package/dist/browser-cjs/{index-9e6c4f37.js → index-6c320c88.js} +115 -127
  4. package/dist/browser-cjs/index-6c320c88.js.map +1 -0
  5. package/dist/browser-cjs/index.js +1 -1
  6. package/dist/browser-cjs/internal.js +1 -1
  7. package/dist/browser-cjs/src/api/authentication/recaptcha.d.ts +2 -2
  8. package/dist/browser-cjs/src/api/index.d.ts +10 -0
  9. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  10. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  11. package/dist/cordova/index.js +2 -2
  12. package/dist/cordova/internal.js +2 -2
  13. package/dist/cordova/{popup_redirect-4758cdae.js → popup_redirect-96bd7835.js} +165 -214
  14. package/dist/cordova/popup_redirect-96bd7835.js.map +1 -0
  15. package/dist/cordova/src/api/authentication/recaptcha.d.ts +2 -2
  16. package/dist/cordova/src/api/index.d.ts +10 -0
  17. package/dist/cordova/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  18. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  19. package/dist/esm2017/{index-c088af8a.js → index-57aefb02.js} +115 -127
  20. package/dist/esm2017/index-57aefb02.js.map +1 -0
  21. package/dist/esm2017/index.js +1 -1
  22. package/dist/esm2017/internal.js +2 -2
  23. package/dist/esm2017/src/api/authentication/recaptcha.d.ts +2 -2
  24. package/dist/esm2017/src/api/index.d.ts +10 -0
  25. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  26. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  27. package/dist/esm5/{index-f6b0662a.js → index-6728b711.js} +165 -214
  28. package/dist/esm5/index-6728b711.js.map +1 -0
  29. package/dist/esm5/index.js +1 -1
  30. package/dist/esm5/internal.js +2 -2
  31. package/dist/esm5/src/api/authentication/recaptcha.d.ts +2 -2
  32. package/dist/esm5/src/api/index.d.ts +10 -0
  33. package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  34. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  35. package/dist/index.webworker.esm5.js +123 -172
  36. package/dist/index.webworker.esm5.js.map +1 -1
  37. package/dist/node/index.js +1 -1
  38. package/dist/node/internal.js +1 -1
  39. package/dist/node/src/api/authentication/recaptcha.d.ts +2 -2
  40. package/dist/node/src/api/index.d.ts +10 -0
  41. package/dist/node/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  42. package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  43. package/dist/node/{totp-2cc6b74c.js → totp-8ef4e9a8.js} +161 -210
  44. package/dist/node/totp-8ef4e9a8.js.map +1 -0
  45. package/dist/node-esm/index.js +1 -1
  46. package/dist/node-esm/internal.js +2 -2
  47. package/dist/node-esm/src/api/authentication/recaptcha.d.ts +2 -2
  48. package/dist/node-esm/src/api/index.d.ts +10 -0
  49. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  50. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  51. package/dist/node-esm/{totp-bfa3ee61.js → totp-19c74b23.js} +111 -123
  52. package/dist/node-esm/totp-19c74b23.js.map +1 -0
  53. package/dist/rn/{index-6ea1dd0a.js → index-95a9f1bd.js} +165 -214
  54. package/dist/rn/index-95a9f1bd.js.map +1 -0
  55. package/dist/rn/index.js +1 -1
  56. package/dist/rn/internal.js +1 -1
  57. package/dist/rn/src/api/authentication/recaptcha.d.ts +2 -2
  58. package/dist/rn/src/api/index.d.ts +10 -0
  59. package/dist/rn/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  60. package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  61. package/dist/src/api/authentication/recaptcha.d.ts +2 -2
  62. package/dist/src/api/index.d.ts +10 -0
  63. package/dist/src/platform_browser/recaptcha/recaptcha.d.ts +18 -3
  64. package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +3 -0
  65. package/package.json +12 -12
  66. package/dist/browser-cjs/index-9e6c4f37.js.map +0 -1
  67. package/dist/cordova/popup_redirect-4758cdae.js.map +0 -1
  68. package/dist/esm2017/index-c088af8a.js.map +0 -1
  69. package/dist/esm5/index-f6b0662a.js.map +0 -1
  70. package/dist/node/totp-2cc6b74c.js.map +0 -1
  71. package/dist/node-esm/totp-bfa3ee61.js.map +0 -1
  72. package/dist/rn/index-6ea1dd0a.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
@@ -963,6 +916,18 @@ function _getFinalTarget(auth, host, path, query) {
963
916
  }
964
917
  return _emulatorUrl(auth.config, base);
965
918
  }
919
+ function _parseEnforcementState(enforcementStateStr) {
920
+ switch (enforcementStateStr) {
921
+ case 'ENFORCE':
922
+ return "ENFORCE" /* EnforcementState.ENFORCE */;
923
+ case 'AUDIT':
924
+ return "AUDIT" /* EnforcementState.AUDIT */;
925
+ case 'OFF':
926
+ return "OFF" /* EnforcementState.OFF */;
927
+ default:
928
+ return "ENFORCEMENT_STATE_UNSPECIFIED" /* EnforcementState.ENFORCEMENT_STATE_UNSPECIFIED */;
929
+ }
930
+ }
966
931
  var NetworkTimeout = /** @class */ (function () {
967
932
  function NetworkTimeout(auth) {
968
933
  var _this = this;
@@ -998,6 +963,81 @@ function _makeTaggedError(auth, code, response) {
998
963
  return error;
999
964
  }
1000
965
 
966
+ /**
967
+ * @license
968
+ * Copyright 2020 Google LLC
969
+ *
970
+ * Licensed under the Apache License, Version 2.0 (the "License");
971
+ * you may not use this file except in compliance with the License.
972
+ * You may obtain a copy of the License at
973
+ *
974
+ * http://www.apache.org/licenses/LICENSE-2.0
975
+ *
976
+ * Unless required by applicable law or agreed to in writing, software
977
+ * distributed under the License is distributed on an "AS IS" BASIS,
978
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
979
+ * See the License for the specific language governing permissions and
980
+ * limitations under the License.
981
+ */
982
+ function isV2(grecaptcha) {
983
+ return (grecaptcha !== undefined &&
984
+ grecaptcha.getResponse !== undefined);
985
+ }
986
+ function isEnterprise(grecaptcha) {
987
+ return (grecaptcha !== undefined &&
988
+ grecaptcha.enterprise !== undefined);
989
+ }
990
+ var RecaptchaConfig = /** @class */ (function () {
991
+ function RecaptchaConfig(response) {
992
+ /**
993
+ * The reCAPTCHA site key.
994
+ */
995
+ this.siteKey = '';
996
+ /**
997
+ * The list of providers and their enablement status for reCAPTCHA Enterprise.
998
+ */
999
+ this.recaptchaEnforcementState = [];
1000
+ if (response.recaptchaKey === undefined) {
1001
+ throw new Error('recaptchaKey undefined');
1002
+ }
1003
+ // Example response.recaptchaKey: "projects/proj123/keys/sitekey123"
1004
+ this.siteKey = response.recaptchaKey.split('/')[3];
1005
+ this.recaptchaEnforcementState = response.recaptchaEnforcementState;
1006
+ }
1007
+ /**
1008
+ * Returns the reCAPTCHA Enterprise enforcement state for the given provider.
1009
+ *
1010
+ * @param providerStr - The provider whose enforcement state is to be returned.
1011
+ * @returns The reCAPTCHA Enterprise enforcement state for the given provider.
1012
+ */
1013
+ RecaptchaConfig.prototype.getProviderEnforcementState = function (providerStr) {
1014
+ if (!this.recaptchaEnforcementState ||
1015
+ this.recaptchaEnforcementState.length === 0) {
1016
+ return null;
1017
+ }
1018
+ for (var _i = 0, _a = this.recaptchaEnforcementState; _i < _a.length; _i++) {
1019
+ var recaptchaEnforcementState = _a[_i];
1020
+ if (recaptchaEnforcementState.provider &&
1021
+ recaptchaEnforcementState.provider === providerStr) {
1022
+ return _parseEnforcementState(recaptchaEnforcementState.enforcementState);
1023
+ }
1024
+ }
1025
+ return null;
1026
+ };
1027
+ /**
1028
+ * Returns true if the reCAPTCHA Enterprise enforcement state for the provider is set to ENFORCE or AUDIT.
1029
+ *
1030
+ * @param providerStr - The provider whose enablement state is to be returned.
1031
+ * @returns Whether or not reCAPTCHA Enterprise protection is enabled for the given provider.
1032
+ */
1033
+ RecaptchaConfig.prototype.isProviderEnabled = function (providerStr) {
1034
+ return (this.getProviderEnforcementState(providerStr) ===
1035
+ "ENFORCE" /* EnforcementState.ENFORCE */ ||
1036
+ this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
1037
+ };
1038
+ return RecaptchaConfig;
1039
+ }());
1040
+
1001
1041
  /**
1002
1042
  * @license
1003
1043
  * Copyright 2020 Google LLC
@@ -3680,6 +3720,39 @@ function injectRecaptchaFields(auth, request, action, captchaResp) {
3680
3720
  });
3681
3721
  });
3682
3722
  }
3723
+ function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
3724
+ var _a;
3725
+ return tslib.__awaiter(this, void 0, void 0, function () {
3726
+ var requestWithRecaptcha;
3727
+ var _this = this;
3728
+ return tslib.__generator(this, function (_b) {
3729
+ switch (_b.label) {
3730
+ case 0:
3731
+ if (!((_a = authInstance
3732
+ ._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */))) return [3 /*break*/, 2];
3733
+ return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
3734
+ case 1:
3735
+ requestWithRecaptcha = _b.sent();
3736
+ return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
3737
+ case 2: return [2 /*return*/, actionMethod(authInstance, request).catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
3738
+ var requestWithRecaptcha;
3739
+ return tslib.__generator(this, function (_a) {
3740
+ switch (_a.label) {
3741
+ case 0:
3742
+ if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */))) return [3 /*break*/, 2];
3743
+ console.log("".concat(actionName, " is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."));
3744
+ return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
3745
+ case 1:
3746
+ requestWithRecaptcha = _a.sent();
3747
+ return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
3748
+ case 2: return [2 /*return*/, Promise.reject(error)];
3749
+ }
3750
+ });
3751
+ }); })];
3752
+ }
3753
+ });
3754
+ });
3755
+ }
3683
3756
  function _initializeRecaptchaConfig(auth) {
3684
3757
  return tslib.__awaiter(this, void 0, void 0, function () {
3685
3758
  var authInternal, response, config, verifier;
@@ -3700,7 +3773,7 @@ function _initializeRecaptchaConfig(auth) {
3700
3773
  else {
3701
3774
  authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
3702
3775
  }
3703
- if (config.emailPasswordEnabled) {
3776
+ if (config.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
3704
3777
  verifier = new RecaptchaEnterpriseVerifier(authInternal);
3705
3778
  void verifier.verify();
3706
3779
  }
@@ -4166,55 +4239,27 @@ var EmailAuthCredential = /** @class */ (function (_super) {
4166
4239
  };
4167
4240
  /** @internal */
4168
4241
  EmailAuthCredential.prototype._getIdTokenResponse = function (auth) {
4169
- var _a;
4170
4242
  return tslib.__awaiter(this, void 0, void 0, function () {
4171
- var _b, request_1, requestWithRecaptcha;
4172
- var _this = this;
4173
- return tslib.__generator(this, function (_c) {
4174
- switch (_c.label) {
4175
- case 0:
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 = {
4243
+ var request;
4244
+ return tslib.__generator(this, function (_a) {
4245
+ switch (this.signInMethod) {
4246
+ case "password" /* SignInMethod.EMAIL_PASSWORD */:
4247
+ request = {
4184
4248
  returnSecureToken: true,
4185
4249
  email: this._email,
4186
4250
  password: this._password,
4187
4251
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
4188
4252
  };
4189
- if (!((_a = auth._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 3];
4190
- return [4 /*yield*/, injectRecaptchaFields(auth, request_1, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */)];
4191
- case 2:
4192
- requestWithRecaptcha = _c.sent();
4193
- return [2 /*return*/, signInWithPassword(auth, requestWithRecaptcha)];
4194
- case 3: return [2 /*return*/, signInWithPassword(auth, request_1).catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
4195
- var requestWithRecaptcha;
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:
4253
+ return [2 /*return*/, handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword)];
4254
+ case "emailLink" /* SignInMethod.EMAIL_LINK */:
4255
+ return [2 /*return*/, signInWithEmailLink$1(auth, {
4256
+ email: this._email,
4257
+ oobCode: this._password
4258
+ })];
4259
+ default:
4214
4260
  _fail(auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
4215
- _c.label = 6;
4216
- case 6: return [2 /*return*/];
4217
4261
  }
4262
+ return [2 /*return*/];
4218
4263
  });
4219
4264
  });
4220
4265
  };
@@ -6431,12 +6476,10 @@ function recachePasswordPolicy(auth) {
6431
6476
  * @public
6432
6477
  */
6433
6478
  function sendPasswordResetEmail(auth, email, actionCodeSettings) {
6434
- var _a;
6435
6479
  return tslib.__awaiter(this, void 0, void 0, function () {
6436
- var authInternal, request, requestWithRecaptcha;
6437
- var _this = this;
6438
- return tslib.__generator(this, function (_b) {
6439
- switch (_b.label) {
6480
+ var authInternal, request;
6481
+ return tslib.__generator(this, function (_a) {
6482
+ switch (_a.label) {
6440
6483
  case 0:
6441
6484
  authInternal = _castAuth(auth);
6442
6485
  request = {
@@ -6444,48 +6487,13 @@ function sendPasswordResetEmail(auth, email, actionCodeSettings) {
6444
6487
  email: email,
6445
6488
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
6446
6489
  };
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
6490
  if (actionCodeSettings) {
6460
6491
  _setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
6461
6492
  }
6462
- return [4 /*yield*/, sendPasswordResetEmail$1(authInternal, request)
6463
- .catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
6464
- var requestWithRecaptcha;
6465
- return tslib.__generator(this, function (_a) {
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*/];
6493
+ return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1)];
6494
+ case 1:
6495
+ _a.sent();
6496
+ return [2 /*return*/];
6489
6497
  }
6490
6498
  });
6491
6499
  });
@@ -6640,12 +6648,10 @@ function verifyPasswordResetCode(auth, code) {
6640
6648
  * @public
6641
6649
  */
6642
6650
  function createUserWithEmailAndPassword(auth, email, password) {
6643
- var _a;
6644
6651
  return tslib.__awaiter(this, void 0, void 0, function () {
6645
- var authInternal, request, signUpResponse, requestWithRecaptcha, response, userCredential;
6646
- var _this = this;
6647
- return tslib.__generator(this, function (_b) {
6648
- switch (_b.label) {
6652
+ var authInternal, request, signUpResponse, response, userCredential;
6653
+ return tslib.__generator(this, function (_a) {
6654
+ switch (_a.label) {
6649
6655
  case 0:
6650
6656
  authInternal = _castAuth(auth);
6651
6657
  request = {
@@ -6654,43 +6660,21 @@ function createUserWithEmailAndPassword(auth, email, password) {
6654
6660
  password: password,
6655
6661
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
6656
6662
  };
6657
- if (!((_a = authInternal._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.emailPasswordEnabled)) return [3 /*break*/, 2];
6658
- return [4 /*yield*/, injectRecaptchaFields(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */)];
6659
- case 1:
6660
- requestWithRecaptcha = _b.sent();
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;
6663
+ signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
6664
+ return [4 /*yield*/, signUpResponse.catch(function (error) {
6665
+ if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
6666
+ void recachePasswordPolicy(auth);
6676
6667
  }
6677
- });
6678
- }); });
6679
- _b.label = 3;
6680
- case 3: return [4 /*yield*/, signUpResponse.catch(function (error) {
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();
6668
+ throw error;
6669
+ })];
6670
+ case 1:
6671
+ response = _a.sent();
6688
6672
  return [4 /*yield*/, UserCredentialImpl._fromIdTokenResponse(authInternal, "signIn" /* OperationType.SIGN_IN */, response)];
6689
- case 5:
6690
- userCredential = _b.sent();
6673
+ case 2:
6674
+ userCredential = _a.sent();
6691
6675
  return [4 /*yield*/, authInternal._updateCurrentUser(userCredential.user)];
6692
- case 6:
6693
- _b.sent();
6676
+ case 3:
6677
+ _a.sent();
6694
6678
  return [2 /*return*/, userCredential];
6695
6679
  }
6696
6680
  });
@@ -6779,7 +6763,6 @@ function signInWithEmailAndPassword(auth, email, password) {
6779
6763
  * @public
6780
6764
  */
6781
6765
  function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
6782
- var _a;
6783
6766
  return tslib.__awaiter(this, void 0, void 0, function () {
6784
6767
  function setActionCodeSettings(request, actionCodeSettings) {
6785
6768
  _assert(actionCodeSettings.handleCodeInApp, authInternal, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
@@ -6787,10 +6770,9 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
6787
6770
  _setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
6788
6771
  }
6789
6772
  }
6790
- var authInternal, request, requestWithRecaptcha;
6791
- var _this = this;
6792
- return tslib.__generator(this, function (_b) {
6793
- switch (_b.label) {
6773
+ var authInternal, request;
6774
+ return tslib.__generator(this, function (_a) {
6775
+ switch (_a.label) {
6794
6776
  case 0:
6795
6777
  authInternal = _castAuth(auth);
6796
6778
  request = {
@@ -6798,42 +6780,11 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
6798
6780
  email: email,
6799
6781
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
6800
6782
  };
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
6783
  setActionCodeSettings(request, actionCodeSettings);
6812
- return [4 /*yield*/, sendSignInLinkToEmail$1(authInternal, request)
6813
- .catch(function (error) { return tslib.__awaiter(_this, void 0, void 0, function () {
6814
- var requestWithRecaptcha;
6815
- return tslib.__generator(this, function (_a) {
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*/];
6784
+ return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1)];
6785
+ case 1:
6786
+ _a.sent();
6787
+ return [2 /*return*/];
6837
6788
  }
6838
6789
  });
6839
6790
  });
@@ -7913,7 +7864,7 @@ function multiFactor(user) {
7913
7864
  }
7914
7865
 
7915
7866
  var name = "@firebase/auth";
7916
- var version = "1.3.0-canary.60e4a07d2";
7867
+ var version = "1.3.0-canary.698eeb67d";
7917
7868
 
7918
7869
  /**
7919
7870
  * @license
@@ -9398,4 +9349,4 @@ exports.useDeviceLanguage = useDeviceLanguage;
9398
9349
  exports.validatePassword = validatePassword;
9399
9350
  exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
9400
9351
  exports.verifyPasswordResetCode = verifyPasswordResetCode;
9401
- //# sourceMappingURL=index-6ea1dd0a.js.map
9352
+ //# sourceMappingURL=index-95a9f1bd.js.map