@firebase/auth 1.7.9-canary.aa6db78eb → 1.7.9-canary.b942e9e6e
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/README.md +32 -1
- package/dist/auth-public.d.ts +22 -10
- package/dist/auth.d.ts +22 -10
- package/dist/browser-cjs/{index-8c4960c5.js → index-c1e3d4f9.js} +392 -175
- package/dist/browser-cjs/index-c1e3d4f9.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/account_management/mfa.d.ts +5 -1
- package/dist/browser-cjs/src/api/authentication/mfa.d.ts +5 -1
- package/dist/browser-cjs/src/api/authentication/sms.d.ts +5 -1
- package/dist/browser-cjs/src/api/index.d.ts +7 -3
- package/dist/browser-cjs/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/browser-cjs/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/browser-cjs/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/cordova/auth-cordova-public.d.ts +7 -0
- package/dist/cordova/auth-cordova.d.ts +7 -0
- package/dist/cordova/index.js +2 -2
- package/dist/cordova/internal.js +168 -177
- package/dist/cordova/internal.js.map +1 -1
- package/dist/cordova/{popup_redirect-1e109c2a.js → popup_redirect-63b3580d.js} +285 -21
- package/dist/cordova/popup_redirect-63b3580d.js.map +1 -0
- package/dist/cordova/src/api/account_management/mfa.d.ts +5 -1
- package/dist/cordova/src/api/authentication/mfa.d.ts +5 -1
- package/dist/cordova/src/api/authentication/sms.d.ts +5 -1
- package/dist/cordova/src/api/index.d.ts +7 -3
- package/dist/cordova/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/cordova/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/cordova/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/cordova/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/esm2017/{index-6cb7b51a.js → index-c8d513e3.js} +392 -175
- package/dist/esm2017/index-c8d513e3.js.map +1 -0
- package/dist/esm2017/index.js +1 -1
- package/dist/esm2017/internal.js +2 -2
- package/dist/esm2017/src/api/account_management/mfa.d.ts +5 -1
- package/dist/esm2017/src/api/authentication/mfa.d.ts +5 -1
- package/dist/esm2017/src/api/authentication/sms.d.ts +5 -1
- package/dist/esm2017/src/api/index.d.ts +7 -3
- package/dist/esm2017/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/esm2017/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/esm2017/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/esm5/{index-262b3f24.js → index-82b3e33f.js} +450 -195
- package/dist/esm5/index-82b3e33f.js.map +1 -0
- package/dist/esm5/index.js +1 -1
- package/dist/esm5/internal.js +2 -2
- package/dist/esm5/src/api/account_management/mfa.d.ts +5 -1
- package/dist/esm5/src/api/authentication/mfa.d.ts +5 -1
- package/dist/esm5/src/api/authentication/sms.d.ts +5 -1
- package/dist/esm5/src/api/index.d.ts +7 -3
- package/dist/esm5/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/esm5/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/esm5/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/index.webworker.esm5.js +163 -19
- 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/account_management/mfa.d.ts +5 -1
- package/dist/node/src/api/authentication/mfa.d.ts +5 -1
- package/dist/node/src/api/authentication/sms.d.ts +5 -1
- package/dist/node/src/api/index.d.ts +7 -3
- package/dist/node/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/node/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/node/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/node/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/node/{totp-617e4db6.js → totp-c9a669c7.js} +164 -20
- package/dist/node/totp-c9a669c7.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/account_management/mfa.d.ts +5 -1
- package/dist/node-esm/src/api/authentication/mfa.d.ts +5 -1
- package/dist/node-esm/src/api/authentication/sms.d.ts +5 -1
- package/dist/node-esm/src/api/index.d.ts +7 -3
- package/dist/node-esm/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/node-esm/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/node-esm/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/node-esm/{totp-98ba6f1f.js → totp-9698d31a.js} +168 -30
- package/dist/node-esm/totp-9698d31a.js.map +1 -0
- package/dist/rn/{index-198b1e87.js → index-dd6cc9b0.js} +450 -195
- package/dist/rn/index-dd6cc9b0.js.map +1 -0
- package/dist/rn/index.js +1 -1
- package/dist/rn/internal.js +1 -1
- package/dist/rn/src/api/account_management/mfa.d.ts +5 -1
- package/dist/rn/src/api/authentication/mfa.d.ts +5 -1
- package/dist/rn/src/api/authentication/sms.d.ts +5 -1
- package/dist/rn/src/api/index.d.ts +7 -3
- package/dist/rn/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/rn/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/rn/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/rn/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/src/api/account_management/mfa.d.ts +5 -1
- package/dist/src/api/authentication/mfa.d.ts +5 -1
- package/dist/src/api/authentication/sms.d.ts +5 -1
- package/dist/src/api/index.d.ts +7 -3
- package/dist/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/web-extension-cjs/index.js +1 -1
- package/dist/web-extension-cjs/internal.js +115 -147
- package/dist/web-extension-cjs/internal.js.map +1 -1
- package/dist/web-extension-cjs/{register-0aa8e295.js → register-1a706c5a.js} +283 -30
- package/dist/web-extension-cjs/register-1a706c5a.js.map +1 -0
- package/dist/web-extension-cjs/src/api/account_management/mfa.d.ts +5 -1
- package/dist/web-extension-cjs/src/api/authentication/mfa.d.ts +5 -1
- package/dist/web-extension-cjs/src/api/authentication/sms.d.ts +5 -1
- package/dist/web-extension-cjs/src/api/index.d.ts +7 -3
- package/dist/web-extension-cjs/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/web-extension-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/web-extension-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/web-extension-cjs/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/web-extension-cjs/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/dist/web-extension-esm2017/auth-web-extension-public.d.ts +7 -0
- package/dist/web-extension-esm2017/auth-web-extension.d.ts +7 -0
- package/dist/web-extension-esm2017/index.js +2 -2
- package/dist/web-extension-esm2017/internal.js +115 -147
- package/dist/web-extension-esm2017/internal.js.map +1 -1
- package/dist/web-extension-esm2017/{register-68ef89ff.js → register-3c017834.js} +280 -31
- package/dist/web-extension-esm2017/register-3c017834.js.map +1 -0
- package/dist/web-extension-esm2017/src/api/account_management/mfa.d.ts +5 -1
- package/dist/web-extension-esm2017/src/api/authentication/mfa.d.ts +5 -1
- package/dist/web-extension-esm2017/src/api/authentication/sms.d.ts +5 -1
- package/dist/web-extension-esm2017/src/api/index.d.ts +7 -3
- package/dist/web-extension-esm2017/src/platform_browser/providers/phone.d.ts +7 -5
- package/dist/web-extension-esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
- package/dist/web-extension-esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
- package/dist/web-extension-esm2017/src/platform_browser/strategies/phone.d.ts +10 -6
- package/dist/web-extension-esm2017/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
- package/package.json +6 -6
- package/dist/browser-cjs/index-8c4960c5.js.map +0 -1
- package/dist/cordova/popup_redirect-1e109c2a.js.map +0 -1
- package/dist/esm2017/index-6cb7b51a.js.map +0 -1
- package/dist/esm5/index-262b3f24.js.map +0 -1
- package/dist/node/totp-617e4db6.js.map +0 -1
- package/dist/node-esm/totp-98ba6f1f.js.map +0 -1
- package/dist/rn/index-198b1e87.js.map +0 -1
- package/dist/web-extension-cjs/register-0aa8e295.js.map +0 -1
- package/dist/web-extension-esm2017/register-68ef89ff.js.map +0 -1
|
@@ -1982,6 +1982,16 @@ var RecaptchaConfig = /** @class */ (function () {
|
|
|
1982
1982
|
"ENFORCE" /* EnforcementState.ENFORCE */ ||
|
|
1983
1983
|
this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
|
|
1984
1984
|
};
|
|
1985
|
+
/**
|
|
1986
|
+
* Returns true if reCAPTCHA Enterprise protection is enabled in at least one provider, otherwise
|
|
1987
|
+
* returns false.
|
|
1988
|
+
*
|
|
1989
|
+
* @returns Whether or not reCAPTCHA Enterprise protection is enabled for at least one provider.
|
|
1990
|
+
*/
|
|
1991
|
+
RecaptchaConfig.prototype.isAnyProviderEnabled = function () {
|
|
1992
|
+
return (this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */) ||
|
|
1993
|
+
this.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */));
|
|
1994
|
+
};
|
|
1985
1995
|
return RecaptchaConfig;
|
|
1986
1996
|
}());
|
|
1987
1997
|
|
|
@@ -4651,6 +4661,180 @@ function _generateCallbackName(prefix) {
|
|
|
4651
4661
|
return "__".concat(prefix).concat(Math.floor(Math.random() * 1000000));
|
|
4652
4662
|
}
|
|
4653
4663
|
|
|
4664
|
+
/**
|
|
4665
|
+
* @license
|
|
4666
|
+
* Copyright 2020 Google LLC
|
|
4667
|
+
*
|
|
4668
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4669
|
+
* you may not use this file except in compliance with the License.
|
|
4670
|
+
* You may obtain a copy of the License at
|
|
4671
|
+
*
|
|
4672
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4673
|
+
*
|
|
4674
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4675
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4676
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4677
|
+
* See the License for the specific language governing permissions and
|
|
4678
|
+
* limitations under the License.
|
|
4679
|
+
*/
|
|
4680
|
+
var _SOLVE_TIME_MS = 500;
|
|
4681
|
+
var _EXPIRATION_TIME_MS = 60000;
|
|
4682
|
+
var _WIDGET_ID_START = 1000000000000;
|
|
4683
|
+
var MockReCaptcha = /** @class */ (function () {
|
|
4684
|
+
function MockReCaptcha(auth) {
|
|
4685
|
+
this.auth = auth;
|
|
4686
|
+
this.counter = _WIDGET_ID_START;
|
|
4687
|
+
this._widgets = new Map();
|
|
4688
|
+
}
|
|
4689
|
+
MockReCaptcha.prototype.render = function (container, parameters) {
|
|
4690
|
+
var id = this.counter;
|
|
4691
|
+
this._widgets.set(id, new MockWidget(container, this.auth.name, parameters || {}));
|
|
4692
|
+
this.counter++;
|
|
4693
|
+
return id;
|
|
4694
|
+
};
|
|
4695
|
+
MockReCaptcha.prototype.reset = function (optWidgetId) {
|
|
4696
|
+
var _a;
|
|
4697
|
+
var id = optWidgetId || _WIDGET_ID_START;
|
|
4698
|
+
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.delete());
|
|
4699
|
+
this._widgets.delete(id);
|
|
4700
|
+
};
|
|
4701
|
+
MockReCaptcha.prototype.getResponse = function (optWidgetId) {
|
|
4702
|
+
var _a;
|
|
4703
|
+
var id = optWidgetId || _WIDGET_ID_START;
|
|
4704
|
+
return ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.getResponse()) || '';
|
|
4705
|
+
};
|
|
4706
|
+
MockReCaptcha.prototype.execute = function (optWidgetId) {
|
|
4707
|
+
var _a;
|
|
4708
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4709
|
+
var id;
|
|
4710
|
+
return __generator(this, function (_b) {
|
|
4711
|
+
id = optWidgetId || _WIDGET_ID_START;
|
|
4712
|
+
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.execute());
|
|
4713
|
+
return [2 /*return*/, ''];
|
|
4714
|
+
});
|
|
4715
|
+
});
|
|
4716
|
+
};
|
|
4717
|
+
return MockReCaptcha;
|
|
4718
|
+
}());
|
|
4719
|
+
var MockGreCAPTCHATopLevel = /** @class */ (function () {
|
|
4720
|
+
function MockGreCAPTCHATopLevel() {
|
|
4721
|
+
this.enterprise = new MockGreCAPTCHA();
|
|
4722
|
+
}
|
|
4723
|
+
MockGreCAPTCHATopLevel.prototype.ready = function (callback) {
|
|
4724
|
+
callback();
|
|
4725
|
+
};
|
|
4726
|
+
MockGreCAPTCHATopLevel.prototype.execute = function (
|
|
4727
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4728
|
+
_siteKey, _options) {
|
|
4729
|
+
return Promise.resolve('token');
|
|
4730
|
+
};
|
|
4731
|
+
MockGreCAPTCHATopLevel.prototype.render = function (
|
|
4732
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4733
|
+
_container, _parameters) {
|
|
4734
|
+
return '';
|
|
4735
|
+
};
|
|
4736
|
+
return MockGreCAPTCHATopLevel;
|
|
4737
|
+
}());
|
|
4738
|
+
var MockGreCAPTCHA = /** @class */ (function () {
|
|
4739
|
+
function MockGreCAPTCHA() {
|
|
4740
|
+
}
|
|
4741
|
+
MockGreCAPTCHA.prototype.ready = function (callback) {
|
|
4742
|
+
callback();
|
|
4743
|
+
};
|
|
4744
|
+
MockGreCAPTCHA.prototype.execute = function (
|
|
4745
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4746
|
+
_siteKey, _options) {
|
|
4747
|
+
return Promise.resolve('token');
|
|
4748
|
+
};
|
|
4749
|
+
MockGreCAPTCHA.prototype.render = function (
|
|
4750
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4751
|
+
_container, _parameters) {
|
|
4752
|
+
return '';
|
|
4753
|
+
};
|
|
4754
|
+
return MockGreCAPTCHA;
|
|
4755
|
+
}());
|
|
4756
|
+
var MockWidget = /** @class */ (function () {
|
|
4757
|
+
function MockWidget(containerOrId, appName, params) {
|
|
4758
|
+
var _this = this;
|
|
4759
|
+
this.params = params;
|
|
4760
|
+
this.timerId = null;
|
|
4761
|
+
this.deleted = false;
|
|
4762
|
+
this.responseToken = null;
|
|
4763
|
+
this.clickHandler = function () {
|
|
4764
|
+
_this.execute();
|
|
4765
|
+
};
|
|
4766
|
+
var container = typeof containerOrId === 'string'
|
|
4767
|
+
? document.getElementById(containerOrId)
|
|
4768
|
+
: containerOrId;
|
|
4769
|
+
_assert(container, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */, { appName: appName });
|
|
4770
|
+
this.container = container;
|
|
4771
|
+
this.isVisible = this.params.size !== 'invisible';
|
|
4772
|
+
if (this.isVisible) {
|
|
4773
|
+
this.execute();
|
|
4774
|
+
}
|
|
4775
|
+
else {
|
|
4776
|
+
this.container.addEventListener('click', this.clickHandler);
|
|
4777
|
+
}
|
|
4778
|
+
}
|
|
4779
|
+
MockWidget.prototype.getResponse = function () {
|
|
4780
|
+
this.checkIfDeleted();
|
|
4781
|
+
return this.responseToken;
|
|
4782
|
+
};
|
|
4783
|
+
MockWidget.prototype.delete = function () {
|
|
4784
|
+
this.checkIfDeleted();
|
|
4785
|
+
this.deleted = true;
|
|
4786
|
+
if (this.timerId) {
|
|
4787
|
+
clearTimeout(this.timerId);
|
|
4788
|
+
this.timerId = null;
|
|
4789
|
+
}
|
|
4790
|
+
this.container.removeEventListener('click', this.clickHandler);
|
|
4791
|
+
};
|
|
4792
|
+
MockWidget.prototype.execute = function () {
|
|
4793
|
+
var _this = this;
|
|
4794
|
+
this.checkIfDeleted();
|
|
4795
|
+
if (this.timerId) {
|
|
4796
|
+
return;
|
|
4797
|
+
}
|
|
4798
|
+
this.timerId = window.setTimeout(function () {
|
|
4799
|
+
_this.responseToken = generateRandomAlphaNumericString(50);
|
|
4800
|
+
var _a = _this.params, callback = _a.callback, expiredCallback = _a["expired-callback"];
|
|
4801
|
+
if (callback) {
|
|
4802
|
+
try {
|
|
4803
|
+
callback(_this.responseToken);
|
|
4804
|
+
}
|
|
4805
|
+
catch (e) { }
|
|
4806
|
+
}
|
|
4807
|
+
_this.timerId = window.setTimeout(function () {
|
|
4808
|
+
_this.timerId = null;
|
|
4809
|
+
_this.responseToken = null;
|
|
4810
|
+
if (expiredCallback) {
|
|
4811
|
+
try {
|
|
4812
|
+
expiredCallback();
|
|
4813
|
+
}
|
|
4814
|
+
catch (e) { }
|
|
4815
|
+
}
|
|
4816
|
+
if (_this.isVisible) {
|
|
4817
|
+
_this.execute();
|
|
4818
|
+
}
|
|
4819
|
+
}, _EXPIRATION_TIME_MS);
|
|
4820
|
+
}, _SOLVE_TIME_MS);
|
|
4821
|
+
};
|
|
4822
|
+
MockWidget.prototype.checkIfDeleted = function () {
|
|
4823
|
+
if (this.deleted) {
|
|
4824
|
+
throw new Error('reCAPTCHA mock was already deleted!');
|
|
4825
|
+
}
|
|
4826
|
+
};
|
|
4827
|
+
return MockWidget;
|
|
4828
|
+
}());
|
|
4829
|
+
function generateRandomAlphaNumericString(len) {
|
|
4830
|
+
var chars = [];
|
|
4831
|
+
var allowedChars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
4832
|
+
for (var i = 0; i < len; i++) {
|
|
4833
|
+
chars.push(allowedChars.charAt(Math.floor(Math.random() * allowedChars.length)));
|
|
4834
|
+
}
|
|
4835
|
+
return chars.join('');
|
|
4836
|
+
}
|
|
4837
|
+
|
|
4654
4838
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
4655
4839
|
var RECAPTCHA_ENTERPRISE_VERIFIER_TYPE = 'recaptcha-enterprise';
|
|
4656
4840
|
var FAKE_TOKEN = 'NO_RECAPTCHA';
|
|
@@ -4737,8 +4921,14 @@ var RecaptchaEnterpriseVerifier = /** @class */ (function () {
|
|
|
4737
4921
|
reject(Error('No reCAPTCHA enterprise script loaded.'));
|
|
4738
4922
|
}
|
|
4739
4923
|
}
|
|
4924
|
+
var mockRecaptcha;
|
|
4740
4925
|
var _this = this;
|
|
4741
4926
|
return __generator(this, function (_a) {
|
|
4927
|
+
// Returns Promise for a mock token when appVerificationDisabledForTesting is true.
|
|
4928
|
+
if (this.auth.settings.appVerificationDisabledForTesting) {
|
|
4929
|
+
mockRecaptcha = new MockGreCAPTCHATopLevel();
|
|
4930
|
+
return [2 /*return*/, mockRecaptcha.execute('siteKey', { action: 'verify' })];
|
|
4931
|
+
}
|
|
4742
4932
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
4743
4933
|
retrieveSiteKey(_this.auth)
|
|
4744
4934
|
.then(function (siteKey) {
|
|
@@ -4772,15 +4962,18 @@ var RecaptchaEnterpriseVerifier = /** @class */ (function () {
|
|
|
4772
4962
|
};
|
|
4773
4963
|
return RecaptchaEnterpriseVerifier;
|
|
4774
4964
|
}());
|
|
4775
|
-
function injectRecaptchaFields(auth, request, action,
|
|
4776
|
-
if (
|
|
4965
|
+
function injectRecaptchaFields(auth, request, action, isCaptchaResp, isFakeToken) {
|
|
4966
|
+
if (isCaptchaResp === void 0) { isCaptchaResp = false; }
|
|
4967
|
+
if (isFakeToken === void 0) { isFakeToken = false; }
|
|
4777
4968
|
return __awaiter(this, void 0, void 0, function () {
|
|
4778
|
-
var verifier, captchaResponse, newRequest;
|
|
4969
|
+
var verifier, captchaResponse, newRequest, phoneNumber, recaptchaToken, recaptchaToken;
|
|
4779
4970
|
return __generator(this, function (_a) {
|
|
4780
4971
|
switch (_a.label) {
|
|
4781
4972
|
case 0:
|
|
4782
4973
|
verifier = new RecaptchaEnterpriseVerifier(auth);
|
|
4783
|
-
|
|
4974
|
+
if (!isFakeToken) return [3 /*break*/, 1];
|
|
4975
|
+
captchaResponse = FAKE_TOKEN;
|
|
4976
|
+
return [3 /*break*/, 5];
|
|
4784
4977
|
case 1:
|
|
4785
4978
|
_a.trys.push([1, 3, , 5]);
|
|
4786
4979
|
return [4 /*yield*/, verifier.verify(action)];
|
|
@@ -4795,7 +4988,35 @@ function injectRecaptchaFields(auth, request, action, captchaResp) {
|
|
|
4795
4988
|
return [3 /*break*/, 5];
|
|
4796
4989
|
case 5:
|
|
4797
4990
|
newRequest = __assign({}, request);
|
|
4798
|
-
if (
|
|
4991
|
+
if (action === "mfaSmsEnrollment" /* RecaptchaActionName.MFA_SMS_ENROLLMENT */ ||
|
|
4992
|
+
action === "mfaSmsSignIn" /* RecaptchaActionName.MFA_SMS_SIGNIN */) {
|
|
4993
|
+
if ('phoneEnrollmentInfo' in newRequest) {
|
|
4994
|
+
phoneNumber = newRequest.phoneEnrollmentInfo.phoneNumber;
|
|
4995
|
+
recaptchaToken = newRequest.phoneEnrollmentInfo.recaptchaToken;
|
|
4996
|
+
Object.assign(newRequest, {
|
|
4997
|
+
'phoneEnrollmentInfo': {
|
|
4998
|
+
phoneNumber: phoneNumber,
|
|
4999
|
+
recaptchaToken: recaptchaToken,
|
|
5000
|
+
captchaResponse: captchaResponse,
|
|
5001
|
+
'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
|
|
5002
|
+
'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
|
|
5003
|
+
}
|
|
5004
|
+
});
|
|
5005
|
+
}
|
|
5006
|
+
else if ('phoneSignInInfo' in newRequest) {
|
|
5007
|
+
recaptchaToken = newRequest.phoneSignInInfo.recaptchaToken;
|
|
5008
|
+
Object.assign(newRequest, {
|
|
5009
|
+
'phoneSignInInfo': {
|
|
5010
|
+
recaptchaToken: recaptchaToken,
|
|
5011
|
+
captchaResponse: captchaResponse,
|
|
5012
|
+
'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
|
|
5013
|
+
'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
|
|
5014
|
+
}
|
|
5015
|
+
});
|
|
5016
|
+
}
|
|
5017
|
+
return [2 /*return*/, newRequest];
|
|
5018
|
+
}
|
|
5019
|
+
if (!isCaptchaResp) {
|
|
4799
5020
|
Object.assign(newRequest, { captchaResponse: captchaResponse });
|
|
4800
5021
|
}
|
|
4801
5022
|
else {
|
|
@@ -4810,19 +5031,20 @@ function injectRecaptchaFields(auth, request, action, captchaResp) {
|
|
|
4810
5031
|
});
|
|
4811
5032
|
});
|
|
4812
5033
|
}
|
|
4813
|
-
function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
|
|
4814
|
-
var _a;
|
|
5034
|
+
function handleRecaptchaFlow(authInstance, request, actionName, actionMethod, recaptchaAuthProvider) {
|
|
5035
|
+
var _a, _b;
|
|
4815
5036
|
return __awaiter(this, void 0, void 0, function () {
|
|
4816
|
-
var requestWithRecaptcha;
|
|
5037
|
+
var requestWithRecaptcha, requestWithRecaptcha, requestWithRecaptchaFields;
|
|
4817
5038
|
var _this = this;
|
|
4818
|
-
return __generator(this, function (
|
|
4819
|
-
switch (
|
|
5039
|
+
return __generator(this, function (_c) {
|
|
5040
|
+
switch (_c.label) {
|
|
4820
5041
|
case 0:
|
|
5042
|
+
if (!(recaptchaAuthProvider === "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)) return [3 /*break*/, 4];
|
|
4821
5043
|
if (!((_a = authInstance
|
|
4822
|
-
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /*
|
|
5044
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */))) return [3 /*break*/, 2];
|
|
4823
5045
|
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */)];
|
|
4824
5046
|
case 1:
|
|
4825
|
-
requestWithRecaptcha =
|
|
5047
|
+
requestWithRecaptcha = _c.sent();
|
|
4826
5048
|
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha)];
|
|
4827
5049
|
case 2: return [2 /*return*/, actionMethod(authInstance, request).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {
|
|
4828
5050
|
var requestWithRecaptcha;
|
|
@@ -4839,6 +5061,48 @@ function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
|
|
|
4839
5061
|
}
|
|
4840
5062
|
});
|
|
4841
5063
|
}); })];
|
|
5064
|
+
case 3: return [3 /*break*/, 10];
|
|
5065
|
+
case 4:
|
|
5066
|
+
if (!(recaptchaAuthProvider === "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) return [3 /*break*/, 9];
|
|
5067
|
+
if (!((_b = authInstance
|
|
5068
|
+
._getRecaptchaConfig()) === null || _b === void 0 ? void 0 : _b.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */))) return [3 /*break*/, 6];
|
|
5069
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName)];
|
|
5070
|
+
case 5:
|
|
5071
|
+
requestWithRecaptcha = _c.sent();
|
|
5072
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptcha).catch(function (error) { return __awaiter(_this, void 0, void 0, function () {
|
|
5073
|
+
var requestWithRecaptchaFields;
|
|
5074
|
+
var _a;
|
|
5075
|
+
return __generator(this, function (_b) {
|
|
5076
|
+
switch (_b.label) {
|
|
5077
|
+
case 0:
|
|
5078
|
+
if (!(((_a = authInstance
|
|
5079
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.getProviderEnforcementState("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) === "AUDIT" /* EnforcementState.AUDIT */)) return [3 /*break*/, 2];
|
|
5080
|
+
if (!(error.code === "auth/".concat("missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */) ||
|
|
5081
|
+
error.code === "auth/".concat("invalid-app-credential" /* AuthErrorCode.INVALID_APP_CREDENTIAL */))) return [3 /*break*/, 2];
|
|
5082
|
+
console.log("Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ".concat(actionName, " flow."));
|
|
5083
|
+
return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
|
|
5084
|
+
true // isFakeToken
|
|
5085
|
+
)];
|
|
5086
|
+
case 1:
|
|
5087
|
+
requestWithRecaptchaFields = _b.sent();
|
|
5088
|
+
// This will call the PhoneApiCaller to fetch and inject reCAPTCHA v2 token.
|
|
5089
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptchaFields)];
|
|
5090
|
+
case 2:
|
|
5091
|
+
// ENFORCE mode or AUDIT mode with any other error.
|
|
5092
|
+
return [2 /*return*/, Promise.reject(error)];
|
|
5093
|
+
}
|
|
5094
|
+
});
|
|
5095
|
+
}); })];
|
|
5096
|
+
case 6: return [4 /*yield*/, injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
|
|
5097
|
+
true // isFakeToken
|
|
5098
|
+
)];
|
|
5099
|
+
case 7:
|
|
5100
|
+
requestWithRecaptchaFields = _c.sent();
|
|
5101
|
+
// This will call the PhoneApiCaller to fetch and inject v2 token.
|
|
5102
|
+
return [2 /*return*/, actionMethod(authInstance, requestWithRecaptchaFields)];
|
|
5103
|
+
case 8: return [3 /*break*/, 10];
|
|
5104
|
+
case 9: return [2 /*return*/, Promise.reject(recaptchaAuthProvider + ' provider is not supported.')];
|
|
5105
|
+
case 10: return [2 /*return*/];
|
|
4842
5106
|
}
|
|
4843
5107
|
});
|
|
4844
5108
|
});
|
|
@@ -4863,7 +5127,7 @@ function _initializeRecaptchaConfig(auth) {
|
|
|
4863
5127
|
else {
|
|
4864
5128
|
authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
|
|
4865
5129
|
}
|
|
4866
|
-
if (config.
|
|
5130
|
+
if (config.isAnyProviderEnabled()) {
|
|
4867
5131
|
verifier = new RecaptchaEnterpriseVerifier(authInternal);
|
|
4868
5132
|
void verifier.verify();
|
|
4869
5133
|
}
|
|
@@ -5349,7 +5613,7 @@ var EmailAuthCredential = /** @class */ (function (_super) {
|
|
|
5349
5613
|
password: this._password,
|
|
5350
5614
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
5351
5615
|
};
|
|
5352
|
-
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword)];
|
|
5616
|
+
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)];
|
|
5353
5617
|
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
5354
5618
|
return [2 /*return*/, signInWithEmailLink$1(auth, {
|
|
5355
5619
|
email: this._email,
|
|
@@ -5376,7 +5640,7 @@ var EmailAuthCredential = /** @class */ (function (_super) {
|
|
|
5376
5640
|
password: this._password,
|
|
5377
5641
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
5378
5642
|
};
|
|
5379
|
-
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword)];
|
|
5643
|
+
return [2 /*return*/, handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)];
|
|
5380
5644
|
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
5381
5645
|
return [2 /*return*/, signInWithEmailLinkForLinking(auth, {
|
|
5382
5646
|
idToken: idToken,
|
|
@@ -7619,7 +7883,7 @@ function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
|
7619
7883
|
if (actionCodeSettings) {
|
|
7620
7884
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
7621
7885
|
}
|
|
7622
|
-
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1)];
|
|
7886
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)];
|
|
7623
7887
|
case 1:
|
|
7624
7888
|
_a.sent();
|
|
7625
7889
|
return [2 /*return*/];
|
|
@@ -7795,7 +8059,7 @@ function createUserWithEmailAndPassword(auth, email, password) {
|
|
|
7795
8059
|
password: password,
|
|
7796
8060
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
7797
8061
|
};
|
|
7798
|
-
signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
|
|
8062
|
+
signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
7799
8063
|
return [4 /*yield*/, signUpResponse.catch(function (error) {
|
|
7800
8064
|
if (error.code === "auth/".concat("password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */)) {
|
|
7801
8065
|
void recachePasswordPolicy(auth);
|
|
@@ -7926,7 +8190,7 @@ function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
7926
8190
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
7927
8191
|
};
|
|
7928
8192
|
setActionCodeSettings(request, actionCodeSettings);
|
|
7929
|
-
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1)];
|
|
8193
|
+
return [4 /*yield*/, handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)];
|
|
7930
8194
|
case 1:
|
|
7931
8195
|
_a.sent();
|
|
7932
8196
|
return [2 /*return*/];
|
|
@@ -9054,7 +9318,7 @@ function multiFactor(user) {
|
|
|
9054
9318
|
}
|
|
9055
9319
|
|
|
9056
9320
|
var name = "@firebase/auth";
|
|
9057
|
-
var version = "1.7.9-canary.
|
|
9321
|
+
var version = "1.7.9-canary.b942e9e6e";
|
|
9058
9322
|
|
|
9059
9323
|
/**
|
|
9060
9324
|
* @license
|
|
@@ -11245,5 +11509,5 @@ function generateNoEvent() {
|
|
|
11245
11509
|
};
|
|
11246
11510
|
}
|
|
11247
11511
|
|
|
11248
|
-
export { signInWithEmailAndPassword as $, ActionCodeOperation as A, PhoneAuthCredential as B, inMemoryPersistence as C, EmailAuthProvider as D, EmailAuthCredential as E, FactorId as F, FacebookAuthProvider as G, GoogleAuthProvider as H, GithubAuthProvider as I, OAuthProvider as J, SAMLAuthProvider as K, signInAnonymously as L, signInWithCredential as M, linkWithCredential as N, OperationType as O, ProviderId as P, reauthenticateWithCredential as Q, signInWithCustomToken as R, SignInMethod as S, TwitterAuthProvider as T, sendPasswordResetEmail as U, confirmPasswordReset as V, applyActionCode as W, checkActionCode as X, verifyPasswordResetCode as Y, createUserWithEmailAndPassword as Z, _signInWithRedirect as _, _reauthenticateWithRedirect as a,
|
|
11249
|
-
//# sourceMappingURL=popup_redirect-
|
|
11512
|
+
export { signInWithEmailAndPassword as $, ActionCodeOperation as A, PhoneAuthCredential as B, inMemoryPersistence as C, EmailAuthProvider as D, EmailAuthCredential as E, FactorId as F, FacebookAuthProvider as G, GoogleAuthProvider as H, GithubAuthProvider as I, OAuthProvider as J, SAMLAuthProvider as K, signInAnonymously as L, signInWithCredential as M, linkWithCredential as N, OperationType as O, ProviderId as P, reauthenticateWithCredential as Q, signInWithCustomToken as R, SignInMethod as S, TwitterAuthProvider as T, sendPasswordResetEmail as U, confirmPasswordReset as V, applyActionCode as W, checkActionCode as X, verifyPasswordResetCode as Y, createUserWithEmailAndPassword as Z, _signInWithRedirect as _, _reauthenticateWithRedirect as a, debugFail as a$, sendSignInLinkToEmail as a0, isSignInWithEmailLink as a1, signInWithEmailLink as a2, fetchSignInMethodsForEmail as a3, sendEmailVerification as a4, verifyBeforeUpdateEmail as a5, ActionCodeURL as a6, parseActionCodeURL as a7, updateProfile as a8, updateEmail as a9, _initializeRecaptchaConfig as aA, _link$1 as aB, sendPhoneVerificationCode as aC, FAKE_TOKEN as aD, startEnrollPhoneMfa as aE, debugAssert as aF, _generateEventId as aG, AbstractPopupRedirectOperation as aH, _assertInstanceOf as aI, _withDefaultResolver as aJ, FederatedAuthProvider as aK, _fail as aL, _getProjectConfig as aM, _getCurrentUrl as aN, _gapiScriptUrl as aO, _emulatorUrl as aP, _isChromeIOS as aQ, _isFirefox as aR, _isIOSStandalone as aS, _getRedirectUrl as aT, _setWindowLocation as aU, _isMobileBrowser as aV, _isSafari as aW, _isIOS as aX, _getRedirectResult as aY, _overrideRedirectResult as aZ, AuthEventManager as a_, updatePassword as aa, getIdToken as ab, getIdTokenResult as ac, unlink as ad, getAdditionalUserInfo as ae, reload as af, getMultiFactorResolver as ag, multiFactor as ah, _performApiRequest as ai, _addTidIfNecessary as aj, Delay as ak, _window as al, _assert as am, isV2 as an, _createError as ao, _recaptchaV2ScriptUrl as ap, _loadJS as aq, MockReCaptcha as ar, _generateCallbackName as as, getRecaptchaParams as at, _isHttpOrHttps as au, _isWorker as av, _castAuth as aw, _serverAppCurrentUserOperationNotSupportedError as ax, _assertLinkedStatus as ay, handleRecaptchaFlow as az, _linkWithRedirect as b, finalizeEnrollPhoneMfa as b0, finalizeEnrollTotpMfa as b1, startEnrollTotpMfa as b2, _setExternalJSProvider as b3, _persistenceKeyName as b4, UserImpl as b5, _getInstance as b6, AuthImpl as b7, _getClientVersion as b8, FetchProvider as b9, SAMLAuthCredential as ba, signInWithRedirect as bb, linkWithRedirect as bc, reauthenticateWithRedirect as bd, indexedDBLocalPersistence as c, cordovaPopupRedirectResolver as d, browserLocalPersistence as e, browserSessionPersistence as f, getRedirectResult as g, initializeRecaptchaConfig as h, initializeAuth as i, beforeAuthStateChanged as j, onAuthStateChanged as k, updateCurrentUser as l, signOut as m, revokeAccessToken as n, onIdTokenChanged as o, deleteUser as p, debugErrorMap as q, registerAuth as r, setPersistence as s, prodErrorMap as t, useDeviceLanguage as u, validatePassword as v, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as w, connectAuthEmulator as x, AuthCredential as y, OAuthCredential as z };
|
|
11513
|
+
//# sourceMappingURL=popup_redirect-63b3580d.js.map
|