@firebase/auth 1.7.9 → 1.8.0
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-e2e765e6.js → index-b60d3212.js} +393 -176
- package/dist/browser-cjs/index-b60d3212.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/cordova/auth-cordova-public.d.ts +7 -0
- package/dist/cordova/auth-cordova.d.ts +7 -0
- package/dist/cordova/index.js +6 -7
- package/dist/cordova/index.js.map +1 -1
- package/dist/cordova/internal.js +660 -985
- package/dist/cordova/internal.js.map +1 -1
- package/dist/cordova/popup_redirect-6fcd583a.js +9635 -0
- package/dist/cordova/popup_redirect-6fcd583a.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/{esm5/src/api/account_management/mfa.test.d.ts → cordova/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
- package/dist/esm2017/{index-68602d24.js → index-a7d5cfcc.js} +393 -176
- package/dist/esm2017/index-a7d5cfcc.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/{esm5/src/api/account_management/email_and_password.test.d.ts → esm2017/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
- package/dist/index.webworker.js +7912 -0
- package/dist/index.webworker.js.map +1 -0
- package/dist/node/index.js +2 -3
- package/dist/node/index.js.map +1 -1
- package/dist/node/internal.js +555 -844
- package/dist/node/internal.js.map +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-ab108bed.js +7582 -0
- package/dist/node/totp-ab108bed.js.map +1 -0
- package/dist/node-esm/index.js +1 -2
- package/dist/node-esm/index.js.map +1 -1
- package/dist/node-esm/internal.js +2 -3
- package/dist/node-esm/internal.js.map +1 -1
- 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/{esm5/scripts/run_node_tests.d.ts → node-esm/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
- package/dist/node-esm/{totp-219bb96f.js → totp-f311e20a.js} +170 -33
- package/dist/node-esm/totp-f311e20a.js.map +1 -0
- package/dist/rn/index-4d73adbf.js +8575 -0
- package/dist/rn/index-4d73adbf.js.map +1 -0
- package/dist/rn/index.js +45 -55
- package/dist/rn/index.js.map +1 -1
- package/dist/rn/internal.js +1195 -1890
- package/dist/rn/internal.js.map +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-674a8250.js → register-17c71bd5.js} +284 -31
- package/dist/web-extension-cjs/register-17c71bd5.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-428f8789.js → register-77f1d56a.js} +281 -32
- package/dist/web-extension-esm2017/register-77f1d56a.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/internal/package.json +5 -3
- package/package.json +10 -11
- package/dist/browser-cjs/index-e2e765e6.js.map +0 -1
- package/dist/cordova/popup_redirect-abcbab4c.js +0 -11249
- package/dist/cordova/popup_redirect-abcbab4c.js.map +0 -1
- package/dist/esm2017/index-68602d24.js.map +0 -1
- package/dist/esm5/index-c0803b14.js +0 -12741
- package/dist/esm5/index-c0803b14.js.map +0 -1
- package/dist/esm5/index.cordova.d.ts +0 -32
- package/dist/esm5/index.d.ts +0 -37
- package/dist/esm5/index.doc.d.ts +0 -24
- package/dist/esm5/index.js +0 -7
- package/dist/esm5/index.js.map +0 -1
- package/dist/esm5/index.node.d.ts +0 -17
- package/dist/esm5/index.rn.d.ts +0 -40
- package/dist/esm5/index.shared.d.ts +0 -19
- package/dist/esm5/index.web-extension.d.ts +0 -31
- package/dist/esm5/index.webworker.d.ts +0 -21
- package/dist/esm5/internal/index.d.ts +0 -42
- package/dist/esm5/internal.js +0 -682
- package/dist/esm5/internal.js.map +0 -1
- package/dist/esm5/src/api/account_management/account.d.ts +0 -59
- package/dist/esm5/src/api/account_management/account.test.d.ts +0 -17
- package/dist/esm5/src/api/account_management/email_and_password.d.ts +0 -49
- package/dist/esm5/src/api/account_management/mfa.d.ts +0 -103
- package/dist/esm5/src/api/account_management/profile.d.ts +0 -29
- package/dist/esm5/src/api/account_management/profile.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/create_auth_uri.d.ts +0 -26
- package/dist/esm5/src/api/authentication/create_auth_uri.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/custom_token.d.ts +0 -26
- package/dist/esm5/src/api/authentication/custom_token.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/email_and_password.d.ts +0 -85
- package/dist/esm5/src/api/authentication/email_and_password.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/email_link.d.ts +0 -32
- package/dist/esm5/src/api/authentication/email_link.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/idp.d.ts +0 -40
- package/dist/esm5/src/api/authentication/idp.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/mfa.d.ts +0 -69
- package/dist/esm5/src/api/authentication/mfa.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/recaptcha.d.ts +0 -34
- package/dist/esm5/src/api/authentication/recaptcha.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/sign_up.d.ts +0 -34
- package/dist/esm5/src/api/authentication/sign_up.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/sms.d.ts +0 -50
- package/dist/esm5/src/api/authentication/sms.test.d.ts +0 -17
- package/dist/esm5/src/api/authentication/token.d.ts +0 -37
- package/dist/esm5/src/api/authentication/token.test.d.ts +0 -17
- package/dist/esm5/src/api/errors.d.ts +0 -128
- package/dist/esm5/src/api/index.d.ts +0 -97
- package/dist/esm5/src/api/index.test.d.ts +0 -17
- package/dist/esm5/src/api/password_policy/get_password_policy.d.ts +0 -48
- package/dist/esm5/src/api/password_policy/get_password_policy.test.d.ts +0 -17
- package/dist/esm5/src/api/project_config/get_project_config.d.ts +0 -25
- package/dist/esm5/src/api/project_config/get_project_config.test.d.ts +0 -17
- package/dist/esm5/src/core/action_code_url.d.ts +0 -73
- package/dist/esm5/src/core/action_code_url.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/auth_event_manager.d.ts +0 -34
- package/dist/esm5/src/core/auth/auth_event_manager.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/auth_impl.d.ts +0 -130
- package/dist/esm5/src/core/auth/auth_impl.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/emulator.d.ts +0 -42
- package/dist/esm5/src/core/auth/emulator.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/firebase_internal.d.ts +0 -35
- package/dist/esm5/src/core/auth/firebase_internal.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/initialize.d.ts +0 -46
- package/dist/esm5/src/core/auth/initialize.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/middleware.d.ts +0 -25
- package/dist/esm5/src/core/auth/middleware.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/password_policy_impl.d.ts +0 -59
- package/dist/esm5/src/core/auth/password_policy_impl.test.d.ts +0 -17
- package/dist/esm5/src/core/auth/register.d.ts +0 -23
- package/dist/esm5/src/core/credentials/auth_credential.d.ts +0 -75
- package/dist/esm5/src/core/credentials/email.d.ts +0 -60
- package/dist/esm5/src/core/credentials/email.test.d.ts +0 -17
- package/dist/esm5/src/core/credentials/index.d.ts +0 -23
- package/dist/esm5/src/core/credentials/oauth.d.ts +0 -81
- package/dist/esm5/src/core/credentials/oauth.test.d.ts +0 -17
- package/dist/esm5/src/core/credentials/phone.d.ts +0 -52
- package/dist/esm5/src/core/credentials/phone.test.d.ts +0 -17
- package/dist/esm5/src/core/credentials/saml.d.ts +0 -52
- package/dist/esm5/src/core/credentials/saml.test.d.ts +0 -17
- package/dist/esm5/src/core/errors.d.ts +0 -325
- package/dist/esm5/src/core/errors.test.d.ts +0 -17
- package/dist/esm5/src/core/index.d.ts +0 -230
- package/dist/esm5/src/core/persistence/in_memory.d.ts +0 -35
- package/dist/esm5/src/core/persistence/in_memory.test.d.ts +0 -17
- package/dist/esm5/src/core/persistence/index.d.ts +0 -41
- package/dist/esm5/src/core/persistence/persistence_user_manager.d.ts +0 -45
- package/dist/esm5/src/core/persistence/persistence_user_manager.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/email.d.ts +0 -83
- package/dist/esm5/src/core/providers/email.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/facebook.d.ts +0 -93
- package/dist/esm5/src/core/providers/facebook.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/federated.d.ts +0 -64
- package/dist/esm5/src/core/providers/federated.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/github.d.ts +0 -89
- package/dist/esm5/src/core/providers/github.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/google.d.ts +0 -96
- package/dist/esm5/src/core/providers/google.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/oauth.d.ts +0 -151
- package/dist/esm5/src/core/providers/oauth.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/saml.d.ts +0 -62
- package/dist/esm5/src/core/providers/saml.test.d.ts +0 -17
- package/dist/esm5/src/core/providers/twitter.d.ts +0 -103
- package/dist/esm5/src/core/providers/twitter.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.d.ts +0 -44
- package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/action_code_settings.d.ts +0 -19
- package/dist/esm5/src/core/strategies/action_code_settings.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/anonymous.d.ts +0 -32
- package/dist/esm5/src/core/strategies/anonymous.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/credential.d.ts +0 -64
- package/dist/esm5/src/core/strategies/credential.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/custom_token.d.ts +0 -37
- package/dist/esm5/src/core/strategies/custom_token.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/email.d.ts +0 -104
- package/dist/esm5/src/core/strategies/email.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/email_and_password.d.ts +0 -139
- package/dist/esm5/src/core/strategies/email_and_password.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/email_link.d.ts +0 -107
- package/dist/esm5/src/core/strategies/email_link.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/idp.d.ts +0 -32
- package/dist/esm5/src/core/strategies/idp.test.d.ts +0 -17
- package/dist/esm5/src/core/strategies/redirect.d.ts +0 -36
- package/dist/esm5/src/core/strategies/redirect.test.d.ts +0 -17
- package/dist/esm5/src/core/user/account_info.d.ts +0 -68
- package/dist/esm5/src/core/user/account_info.test.d.ts +0 -17
- package/dist/esm5/src/core/user/additional_user_info.d.ts +0 -31
- package/dist/esm5/src/core/user/additional_user_info.test.d.ts +0 -17
- package/dist/esm5/src/core/user/id_token_result.d.ts +0 -48
- package/dist/esm5/src/core/user/id_token_result.test.d.ts +0 -17
- package/dist/esm5/src/core/user/invalidation.d.ts +0 -18
- package/dist/esm5/src/core/user/invalidation.test.d.ts +0 -17
- package/dist/esm5/src/core/user/link_unlink.d.ts +0 -30
- package/dist/esm5/src/core/user/link_unlink.test.d.ts +0 -17
- package/dist/esm5/src/core/user/proactive_refresh.d.ts +0 -34
- package/dist/esm5/src/core/user/proactive_refresh.test.d.ts +0 -17
- package/dist/esm5/src/core/user/reauthenticate.d.ts +0 -20
- package/dist/esm5/src/core/user/reauthenticate.test.d.ts +0 -17
- package/dist/esm5/src/core/user/reload.d.ts +0 -29
- package/dist/esm5/src/core/user/reload.test.d.ts +0 -17
- package/dist/esm5/src/core/user/token_manager.d.ts +0 -50
- package/dist/esm5/src/core/user/token_manager.test.d.ts +0 -17
- package/dist/esm5/src/core/user/user_credential_impl.d.ts +0 -37
- package/dist/esm5/src/core/user/user_credential_impl.test.d.ts +0 -17
- package/dist/esm5/src/core/user/user_impl.d.ts +0 -74
- package/dist/esm5/src/core/user/user_impl.test.d.ts +0 -17
- package/dist/esm5/src/core/user/user_metadata.d.ts +0 -27
- package/dist/esm5/src/core/util/assert.d.ts +0 -94
- package/dist/esm5/src/core/util/assert.test.d.ts +0 -17
- package/dist/esm5/src/core/util/browser.d.ts +0 -50
- package/dist/esm5/src/core/util/browser.test.d.ts +0 -17
- package/dist/esm5/src/core/util/delay.d.ts +0 -31
- package/dist/esm5/src/core/util/delay.test.d.ts +0 -17
- package/dist/esm5/src/core/util/emulator.d.ts +0 -18
- package/dist/esm5/src/core/util/emulator.test.d.ts +0 -17
- package/dist/esm5/src/core/util/event_id.d.ts +0 -17
- package/dist/esm5/src/core/util/event_id.test.d.ts +0 -17
- package/dist/esm5/src/core/util/fetch_provider.d.ts +0 -25
- package/dist/esm5/src/core/util/handler.d.ts +0 -20
- package/dist/esm5/src/core/util/instantiator.d.ts +0 -28
- package/dist/esm5/src/core/util/instantiator.test.d.ts +0 -17
- package/dist/esm5/src/core/util/location.d.ts +0 -19
- package/dist/esm5/src/core/util/log.d.ts +0 -23
- package/dist/esm5/src/core/util/navigator.d.ts +0 -21
- package/dist/esm5/src/core/util/providers.d.ts +0 -23
- package/dist/esm5/src/core/util/resolver.d.ts +0 -25
- package/dist/esm5/src/core/util/time.d.ts +0 -17
- package/dist/esm5/src/core/util/validate_origin.d.ts +0 -18
- package/dist/esm5/src/core/util/validate_origin.test.d.ts +0 -17
- package/dist/esm5/src/core/util/version.d.ts +0 -31
- package/dist/esm5/src/core/util/version.test.d.ts +0 -17
- package/dist/esm5/src/index.d.ts +0 -18
- package/dist/esm5/src/mfa/assertions/totp.d.ts +0 -124
- package/dist/esm5/src/mfa/assertions/totp.test.d.ts +0 -17
- package/dist/esm5/src/mfa/index.d.ts +0 -18
- package/dist/esm5/src/mfa/mfa_assertion.d.ts +0 -27
- package/dist/esm5/src/mfa/mfa_error.d.ts +0 -35
- package/dist/esm5/src/mfa/mfa_info.d.ts +0 -36
- package/dist/esm5/src/mfa/mfa_info.test.d.ts +0 -17
- package/dist/esm5/src/mfa/mfa_resolver.d.ts +0 -41
- package/dist/esm5/src/mfa/mfa_resolver.test.d.ts +0 -17
- package/dist/esm5/src/mfa/mfa_session.d.ts +0 -39
- package/dist/esm5/src/mfa/mfa_session.test.d.ts +0 -17
- package/dist/esm5/src/mfa/mfa_user.d.ts +0 -38
- package/dist/esm5/src/mfa/mfa_user.test.d.ts +0 -17
- package/dist/esm5/src/model/application_verifier.d.ts +0 -23
- package/dist/esm5/src/model/auth.d.ts +0 -87
- package/dist/esm5/src/model/enum_maps.d.ts +0 -98
- package/dist/esm5/src/model/enums.d.ts +0 -74
- package/dist/esm5/src/model/id_token.d.ts +0 -87
- package/dist/esm5/src/model/password_policy.d.ts +0 -111
- package/dist/esm5/src/model/popup_redirect.d.ts +0 -94
- package/dist/esm5/src/model/public_types.d.ts +0 -1285
- package/dist/esm5/src/model/user.d.ts +0 -83
- package/dist/esm5/src/platform_browser/auth.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/auth_window.d.ts +0 -37
- package/dist/esm5/src/platform_browser/iframe/gapi.d.ts +0 -19
- package/dist/esm5/src/platform_browser/iframe/gapi.iframes.d.ts +0 -47
- package/dist/esm5/src/platform_browser/iframe/gapi.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/iframe/iframe.d.ts +0 -18
- package/dist/esm5/src/platform_browser/iframe/iframe.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/index.d.ts +0 -27
- package/dist/esm5/src/platform_browser/load_js.d.ts +0 -29
- package/dist/esm5/src/platform_browser/load_js.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/messagechannel/index.d.ts +0 -87
- package/dist/esm5/src/platform_browser/messagechannel/promise.d.ts +0 -33
- package/dist/esm5/src/platform_browser/messagechannel/promise.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/messagechannel/receiver.d.ts +0 -63
- package/dist/esm5/src/platform_browser/messagechannel/receiver.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/messagechannel/sender.d.ts +0 -46
- package/dist/esm5/src/platform_browser/messagechannel/sender.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/mfa/assertions/phone.d.ts +0 -59
- package/dist/esm5/src/platform_browser/mfa/assertions/phone.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/persistence/browser.d.ts +0 -27
- package/dist/esm5/src/platform_browser/persistence/browser.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/persistence/indexed_db.d.ts +0 -33
- package/dist/esm5/src/platform_browser/persistence/indexed_db.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/persistence/local_storage.d.ts +0 -25
- package/dist/esm5/src/platform_browser/persistence/local_storage.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/persistence/session_storage.d.ts +0 -24
- package/dist/esm5/src/platform_browser/persistence/session_storage.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/popup_redirect.d.ts +0 -27
- package/dist/esm5/src/platform_browser/popup_redirect.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/providers/phone.d.ts +0 -152
- package/dist/esm5/src/platform_browser/providers/phone.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +0 -71
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +0 -45
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_loader.d.ts +0 -49
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_loader.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_mock.d.ts +0 -66
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_mock.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_verifier.d.ts +0 -92
- package/dist/esm5/src/platform_browser/recaptcha/recaptcha_verifier.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/strategies/phone.d.ts +0 -112
- package/dist/esm5/src/platform_browser/strategies/phone.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/strategies/popup.d.ts +0 -109
- package/dist/esm5/src/platform_browser/strategies/popup.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/strategies/redirect.d.ts +0 -176
- package/dist/esm5/src/platform_browser/strategies/redirect.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/util/popup.d.ts +0 -24
- package/dist/esm5/src/platform_browser/util/popup.test.d.ts +0 -17
- package/dist/esm5/src/platform_browser/util/worker.d.ts +0 -20
- package/dist/esm5/src/platform_cordova/plugins.d.ts +0 -42
- package/dist/esm5/src/platform_cordova/popup_redirect/events.d.ts +0 -39
- package/dist/esm5/src/platform_cordova/popup_redirect/events.test.d.ts +0 -17
- package/dist/esm5/src/platform_cordova/popup_redirect/popup_redirect.d.ts +0 -24
- package/dist/esm5/src/platform_cordova/popup_redirect/popup_redirect.test.d.ts +0 -17
- package/dist/esm5/src/platform_cordova/popup_redirect/utils.d.ts +0 -47
- package/dist/esm5/src/platform_cordova/popup_redirect/utils.test.d.ts +0 -17
- package/dist/esm5/src/platform_cordova/strategies/redirect.d.ts +0 -20
- package/dist/esm5/src/platform_node/index.d.ts +0 -50
- package/dist/esm5/src/platform_react_native/persistence/react_native.d.ts +0 -25
- package/dist/esm5/src/platform_react_native/persistence/react_native.test.d.ts +0 -17
- package/dist/esm5/test/helpers/api/helper.d.ts +0 -22
- package/dist/esm5/test/helpers/delay.d.ts +0 -20
- package/dist/esm5/test/helpers/erroring_unavailable_persistence.d.ts +0 -36
- package/dist/esm5/test/helpers/fake_service_worker.d.ts +0 -22
- package/dist/esm5/test/helpers/id_token_response.d.ts +0 -18
- package/dist/esm5/test/helpers/iframe_event.d.ts +0 -19
- package/dist/esm5/test/helpers/integration/emulator_rest_helpers.d.ts +0 -35
- package/dist/esm5/test/helpers/integration/helpers.d.ts +0 -32
- package/dist/esm5/test/helpers/integration/settings.d.ts +0 -23
- package/dist/esm5/test/helpers/jwt.d.ts +0 -17
- package/dist/esm5/test/helpers/mock_auth.d.ts +0 -47
- package/dist/esm5/test/helpers/mock_auth_credential.d.ts +0 -31
- package/dist/esm5/test/helpers/mock_fetch.d.ts +0 -30
- package/dist/esm5/test/helpers/mock_fetch.test.d.ts +0 -17
- package/dist/esm5/test/helpers/mock_popup_redirect_resolver.d.ts +0 -24
- package/dist/esm5/test/helpers/redirect_persistence.d.ts +0 -24
- package/dist/esm5/test/helpers/timeout_stub.d.ts +0 -34
- package/dist/esm5/test/integration/flows/anonymous.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/custom.local.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/email.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/idp.local.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/middleware_test_generator.d.ts +0 -18
- package/dist/esm5/test/integration/flows/oob.local.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/password_policy.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/phone.test.d.ts +0 -17
- package/dist/esm5/test/integration/flows/totp.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/anonymous.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/compat/firebaseui.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/persistence.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/popup.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/redirect.test.d.ts +0 -17
- package/dist/esm5/test/integration/webdriver/util/auth_driver.d.ts +0 -46
- package/dist/esm5/test/integration/webdriver/util/functions.d.ts +0 -81
- package/dist/esm5/test/integration/webdriver/util/idp_page.d.ts +0 -31
- package/dist/esm5/test/integration/webdriver/util/js_load_condition.d.ts +0 -25
- package/dist/esm5/test/integration/webdriver/util/test_runner.d.ts +0 -19
- package/dist/esm5/test/integration/webdriver/util/test_server.d.ts +0 -27
- package/dist/esm5/test/integration/webdriver/util/ui_page.d.ts +0 -33
- package/dist/index.webworker.esm5.js +0 -9265
- package/dist/index.webworker.esm5.js.map +0 -1
- package/dist/node/totp-259483a2.js +0 -8762
- package/dist/node/totp-259483a2.js.map +0 -1
- package/dist/node-esm/totp-219bb96f.js.map +0 -1
- package/dist/rn/index-2f66320e.js +0 -9819
- package/dist/rn/index-2f66320e.js.map +0 -1
- package/dist/web-extension-cjs/register-674a8250.js.map +0 -1
- package/dist/web-extension-esm2017/register-428f8789.js.map +0 -1
- /package/dist/{esm5/test/integration/flows/firebaseserverapp.test.d.ts → browser-cjs/test/integration/flows/recaptcha_enterprise.test.d.ts} +0 -0
|
@@ -993,6 +993,16 @@ class RecaptchaConfig {
|
|
|
993
993
|
"ENFORCE" /* EnforcementState.ENFORCE */ ||
|
|
994
994
|
this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
|
|
995
995
|
}
|
|
996
|
+
/**
|
|
997
|
+
* Returns true if reCAPTCHA Enterprise protection is enabled in at least one provider, otherwise
|
|
998
|
+
* returns false.
|
|
999
|
+
*
|
|
1000
|
+
* @returns Whether or not reCAPTCHA Enterprise protection is enabled for at least one provider.
|
|
1001
|
+
*/
|
|
1002
|
+
isAnyProviderEnabled() {
|
|
1003
|
+
return (this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */) ||
|
|
1004
|
+
this.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */));
|
|
1005
|
+
}
|
|
996
1006
|
}
|
|
997
1007
|
|
|
998
1008
|
/**
|
|
@@ -3080,6 +3090,167 @@ function _generateCallbackName(prefix) {
|
|
|
3080
3090
|
return `__${prefix}${Math.floor(Math.random() * 1000000)}`;
|
|
3081
3091
|
}
|
|
3082
3092
|
|
|
3093
|
+
/**
|
|
3094
|
+
* @license
|
|
3095
|
+
* Copyright 2020 Google LLC
|
|
3096
|
+
*
|
|
3097
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3098
|
+
* you may not use this file except in compliance with the License.
|
|
3099
|
+
* You may obtain a copy of the License at
|
|
3100
|
+
*
|
|
3101
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3102
|
+
*
|
|
3103
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3104
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3105
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3106
|
+
* See the License for the specific language governing permissions and
|
|
3107
|
+
* limitations under the License.
|
|
3108
|
+
*/
|
|
3109
|
+
const _SOLVE_TIME_MS = 500;
|
|
3110
|
+
const _EXPIRATION_TIME_MS = 60000;
|
|
3111
|
+
const _WIDGET_ID_START = 1000000000000;
|
|
3112
|
+
class MockReCaptcha {
|
|
3113
|
+
constructor(auth) {
|
|
3114
|
+
this.auth = auth;
|
|
3115
|
+
this.counter = _WIDGET_ID_START;
|
|
3116
|
+
this._widgets = new Map();
|
|
3117
|
+
}
|
|
3118
|
+
render(container, parameters) {
|
|
3119
|
+
const id = this.counter;
|
|
3120
|
+
this._widgets.set(id, new MockWidget(container, this.auth.name, parameters || {}));
|
|
3121
|
+
this.counter++;
|
|
3122
|
+
return id;
|
|
3123
|
+
}
|
|
3124
|
+
reset(optWidgetId) {
|
|
3125
|
+
var _a;
|
|
3126
|
+
const id = optWidgetId || _WIDGET_ID_START;
|
|
3127
|
+
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.delete());
|
|
3128
|
+
this._widgets.delete(id);
|
|
3129
|
+
}
|
|
3130
|
+
getResponse(optWidgetId) {
|
|
3131
|
+
var _a;
|
|
3132
|
+
const id = optWidgetId || _WIDGET_ID_START;
|
|
3133
|
+
return ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.getResponse()) || '';
|
|
3134
|
+
}
|
|
3135
|
+
async execute(optWidgetId) {
|
|
3136
|
+
var _a;
|
|
3137
|
+
const id = optWidgetId || _WIDGET_ID_START;
|
|
3138
|
+
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.execute());
|
|
3139
|
+
return '';
|
|
3140
|
+
}
|
|
3141
|
+
}
|
|
3142
|
+
class MockGreCAPTCHATopLevel {
|
|
3143
|
+
constructor() {
|
|
3144
|
+
this.enterprise = new MockGreCAPTCHA();
|
|
3145
|
+
}
|
|
3146
|
+
ready(callback) {
|
|
3147
|
+
callback();
|
|
3148
|
+
}
|
|
3149
|
+
execute(
|
|
3150
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3151
|
+
_siteKey, _options) {
|
|
3152
|
+
return Promise.resolve('token');
|
|
3153
|
+
}
|
|
3154
|
+
render(
|
|
3155
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3156
|
+
_container, _parameters) {
|
|
3157
|
+
return '';
|
|
3158
|
+
}
|
|
3159
|
+
}
|
|
3160
|
+
class MockGreCAPTCHA {
|
|
3161
|
+
ready(callback) {
|
|
3162
|
+
callback();
|
|
3163
|
+
}
|
|
3164
|
+
execute(
|
|
3165
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3166
|
+
_siteKey, _options) {
|
|
3167
|
+
return Promise.resolve('token');
|
|
3168
|
+
}
|
|
3169
|
+
render(
|
|
3170
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3171
|
+
_container, _parameters) {
|
|
3172
|
+
return '';
|
|
3173
|
+
}
|
|
3174
|
+
}
|
|
3175
|
+
class MockWidget {
|
|
3176
|
+
constructor(containerOrId, appName, params) {
|
|
3177
|
+
this.params = params;
|
|
3178
|
+
this.timerId = null;
|
|
3179
|
+
this.deleted = false;
|
|
3180
|
+
this.responseToken = null;
|
|
3181
|
+
this.clickHandler = () => {
|
|
3182
|
+
this.execute();
|
|
3183
|
+
};
|
|
3184
|
+
const container = typeof containerOrId === 'string'
|
|
3185
|
+
? document.getElementById(containerOrId)
|
|
3186
|
+
: containerOrId;
|
|
3187
|
+
_assert(container, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */, { appName });
|
|
3188
|
+
this.container = container;
|
|
3189
|
+
this.isVisible = this.params.size !== 'invisible';
|
|
3190
|
+
if (this.isVisible) {
|
|
3191
|
+
this.execute();
|
|
3192
|
+
}
|
|
3193
|
+
else {
|
|
3194
|
+
this.container.addEventListener('click', this.clickHandler);
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3197
|
+
getResponse() {
|
|
3198
|
+
this.checkIfDeleted();
|
|
3199
|
+
return this.responseToken;
|
|
3200
|
+
}
|
|
3201
|
+
delete() {
|
|
3202
|
+
this.checkIfDeleted();
|
|
3203
|
+
this.deleted = true;
|
|
3204
|
+
if (this.timerId) {
|
|
3205
|
+
clearTimeout(this.timerId);
|
|
3206
|
+
this.timerId = null;
|
|
3207
|
+
}
|
|
3208
|
+
this.container.removeEventListener('click', this.clickHandler);
|
|
3209
|
+
}
|
|
3210
|
+
execute() {
|
|
3211
|
+
this.checkIfDeleted();
|
|
3212
|
+
if (this.timerId) {
|
|
3213
|
+
return;
|
|
3214
|
+
}
|
|
3215
|
+
this.timerId = window.setTimeout(() => {
|
|
3216
|
+
this.responseToken = generateRandomAlphaNumericString(50);
|
|
3217
|
+
const { callback, 'expired-callback': expiredCallback } = this.params;
|
|
3218
|
+
if (callback) {
|
|
3219
|
+
try {
|
|
3220
|
+
callback(this.responseToken);
|
|
3221
|
+
}
|
|
3222
|
+
catch (e) { }
|
|
3223
|
+
}
|
|
3224
|
+
this.timerId = window.setTimeout(() => {
|
|
3225
|
+
this.timerId = null;
|
|
3226
|
+
this.responseToken = null;
|
|
3227
|
+
if (expiredCallback) {
|
|
3228
|
+
try {
|
|
3229
|
+
expiredCallback();
|
|
3230
|
+
}
|
|
3231
|
+
catch (e) { }
|
|
3232
|
+
}
|
|
3233
|
+
if (this.isVisible) {
|
|
3234
|
+
this.execute();
|
|
3235
|
+
}
|
|
3236
|
+
}, _EXPIRATION_TIME_MS);
|
|
3237
|
+
}, _SOLVE_TIME_MS);
|
|
3238
|
+
}
|
|
3239
|
+
checkIfDeleted() {
|
|
3240
|
+
if (this.deleted) {
|
|
3241
|
+
throw new Error('reCAPTCHA mock was already deleted!');
|
|
3242
|
+
}
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
function generateRandomAlphaNumericString(len) {
|
|
3246
|
+
const chars = [];
|
|
3247
|
+
const allowedChars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
3248
|
+
for (let i = 0; i < len; i++) {
|
|
3249
|
+
chars.push(allowedChars.charAt(Math.floor(Math.random() * allowedChars.length)));
|
|
3250
|
+
}
|
|
3251
|
+
return chars.join('');
|
|
3252
|
+
}
|
|
3253
|
+
|
|
3083
3254
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
3084
3255
|
const RECAPTCHA_ENTERPRISE_VERIFIER_TYPE = 'recaptcha-enterprise';
|
|
3085
3256
|
const FAKE_TOKEN = 'NO_RECAPTCHA';
|
|
@@ -3155,6 +3326,11 @@ class RecaptchaEnterpriseVerifier {
|
|
|
3155
3326
|
reject(Error('No reCAPTCHA enterprise script loaded.'));
|
|
3156
3327
|
}
|
|
3157
3328
|
}
|
|
3329
|
+
// Returns Promise for a mock token when appVerificationDisabledForTesting is true.
|
|
3330
|
+
if (this.auth.settings.appVerificationDisabledForTesting) {
|
|
3331
|
+
const mockRecaptcha = new MockGreCAPTCHATopLevel();
|
|
3332
|
+
return mockRecaptcha.execute('siteKey', { action: 'verify' });
|
|
3333
|
+
}
|
|
3158
3334
|
return new Promise((resolve, reject) => {
|
|
3159
3335
|
retrieveSiteKey(this.auth)
|
|
3160
3336
|
.then(siteKey => {
|
|
@@ -3185,17 +3361,50 @@ class RecaptchaEnterpriseVerifier {
|
|
|
3185
3361
|
});
|
|
3186
3362
|
}
|
|
3187
3363
|
}
|
|
3188
|
-
async function injectRecaptchaFields(auth, request, action,
|
|
3364
|
+
async function injectRecaptchaFields(auth, request, action, isCaptchaResp = false, isFakeToken = false) {
|
|
3189
3365
|
const verifier = new RecaptchaEnterpriseVerifier(auth);
|
|
3190
3366
|
let captchaResponse;
|
|
3191
|
-
|
|
3192
|
-
captchaResponse =
|
|
3367
|
+
if (isFakeToken) {
|
|
3368
|
+
captchaResponse = FAKE_TOKEN;
|
|
3193
3369
|
}
|
|
3194
|
-
|
|
3195
|
-
|
|
3370
|
+
else {
|
|
3371
|
+
try {
|
|
3372
|
+
captchaResponse = await verifier.verify(action);
|
|
3373
|
+
}
|
|
3374
|
+
catch (error) {
|
|
3375
|
+
captchaResponse = await verifier.verify(action, true);
|
|
3376
|
+
}
|
|
3196
3377
|
}
|
|
3197
3378
|
const newRequest = Object.assign({}, request);
|
|
3198
|
-
if (
|
|
3379
|
+
if (action === "mfaSmsEnrollment" /* RecaptchaActionName.MFA_SMS_ENROLLMENT */ ||
|
|
3380
|
+
action === "mfaSmsSignIn" /* RecaptchaActionName.MFA_SMS_SIGNIN */) {
|
|
3381
|
+
if ('phoneEnrollmentInfo' in newRequest) {
|
|
3382
|
+
const phoneNumber = newRequest.phoneEnrollmentInfo.phoneNumber;
|
|
3383
|
+
const recaptchaToken = newRequest.phoneEnrollmentInfo.recaptchaToken;
|
|
3384
|
+
Object.assign(newRequest, {
|
|
3385
|
+
'phoneEnrollmentInfo': {
|
|
3386
|
+
phoneNumber,
|
|
3387
|
+
recaptchaToken,
|
|
3388
|
+
captchaResponse,
|
|
3389
|
+
'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
|
|
3390
|
+
'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
|
|
3391
|
+
}
|
|
3392
|
+
});
|
|
3393
|
+
}
|
|
3394
|
+
else if ('phoneSignInInfo' in newRequest) {
|
|
3395
|
+
const recaptchaToken = newRequest.phoneSignInInfo.recaptchaToken;
|
|
3396
|
+
Object.assign(newRequest, {
|
|
3397
|
+
'phoneSignInInfo': {
|
|
3398
|
+
recaptchaToken,
|
|
3399
|
+
captchaResponse,
|
|
3400
|
+
'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
|
|
3401
|
+
'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
|
|
3402
|
+
}
|
|
3403
|
+
});
|
|
3404
|
+
}
|
|
3405
|
+
return newRequest;
|
|
3406
|
+
}
|
|
3407
|
+
if (!isCaptchaResp) {
|
|
3199
3408
|
Object.assign(newRequest, { captchaResponse });
|
|
3200
3409
|
}
|
|
3201
3410
|
else {
|
|
@@ -3207,24 +3416,64 @@ async function injectRecaptchaFields(auth, request, action, captchaResp = false)
|
|
|
3207
3416
|
});
|
|
3208
3417
|
return newRequest;
|
|
3209
3418
|
}
|
|
3210
|
-
async function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
|
|
3211
|
-
var _a;
|
|
3212
|
-
if (
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3419
|
+
async function handleRecaptchaFlow(authInstance, request, actionName, actionMethod, recaptchaAuthProvider) {
|
|
3420
|
+
var _a, _b;
|
|
3421
|
+
if (recaptchaAuthProvider === "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */) {
|
|
3422
|
+
if ((_a = authInstance
|
|
3423
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)) {
|
|
3424
|
+
const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
|
|
3425
|
+
return actionMethod(authInstance, requestWithRecaptcha);
|
|
3426
|
+
}
|
|
3427
|
+
else {
|
|
3428
|
+
return actionMethod(authInstance, request).catch(async (error) => {
|
|
3429
|
+
if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}`) {
|
|
3430
|
+
console.log(`${actionName} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);
|
|
3431
|
+
const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
|
|
3432
|
+
return actionMethod(authInstance, requestWithRecaptcha);
|
|
3433
|
+
}
|
|
3434
|
+
else {
|
|
3435
|
+
return Promise.reject(error);
|
|
3436
|
+
}
|
|
3437
|
+
});
|
|
3438
|
+
}
|
|
3216
3439
|
}
|
|
3217
|
-
else {
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3440
|
+
else if (recaptchaAuthProvider === "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */) {
|
|
3441
|
+
if ((_b = authInstance
|
|
3442
|
+
._getRecaptchaConfig()) === null || _b === void 0 ? void 0 : _b.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) {
|
|
3443
|
+
const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName);
|
|
3444
|
+
return actionMethod(authInstance, requestWithRecaptcha).catch(async (error) => {
|
|
3445
|
+
var _a;
|
|
3446
|
+
if (((_a = authInstance
|
|
3447
|
+
._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.getProviderEnforcementState("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) === "AUDIT" /* EnforcementState.AUDIT */) {
|
|
3448
|
+
// AUDIT mode
|
|
3449
|
+
if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}` ||
|
|
3450
|
+
error.code === `auth/${"invalid-app-credential" /* AuthErrorCode.INVALID_APP_CREDENTIAL */}`) {
|
|
3451
|
+
console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${actionName} flow.`);
|
|
3452
|
+
// reCAPTCHA Enterprise token is missing or reCAPTCHA Enterprise token
|
|
3453
|
+
// check fails.
|
|
3454
|
+
// Fallback to reCAPTCHA v2 flow.
|
|
3455
|
+
const requestWithRecaptchaFields = await injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
|
|
3456
|
+
true // isFakeToken
|
|
3457
|
+
);
|
|
3458
|
+
// This will call the PhoneApiCaller to fetch and inject reCAPTCHA v2 token.
|
|
3459
|
+
return actionMethod(authInstance, requestWithRecaptchaFields);
|
|
3460
|
+
}
|
|
3461
|
+
}
|
|
3462
|
+
// ENFORCE mode or AUDIT mode with any other error.
|
|
3225
3463
|
return Promise.reject(error);
|
|
3226
|
-
}
|
|
3227
|
-
}
|
|
3464
|
+
});
|
|
3465
|
+
}
|
|
3466
|
+
else {
|
|
3467
|
+
// Do reCAPTCHA v2 flow.
|
|
3468
|
+
const requestWithRecaptchaFields = await injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
|
|
3469
|
+
true // isFakeToken
|
|
3470
|
+
);
|
|
3471
|
+
// This will call the PhoneApiCaller to fetch and inject v2 token.
|
|
3472
|
+
return actionMethod(authInstance, requestWithRecaptchaFields);
|
|
3473
|
+
}
|
|
3474
|
+
}
|
|
3475
|
+
else {
|
|
3476
|
+
return Promise.reject(recaptchaAuthProvider + ' provider is not supported.');
|
|
3228
3477
|
}
|
|
3229
3478
|
}
|
|
3230
3479
|
async function _initializeRecaptchaConfig(auth) {
|
|
@@ -3240,7 +3489,7 @@ async function _initializeRecaptchaConfig(auth) {
|
|
|
3240
3489
|
else {
|
|
3241
3490
|
authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
|
|
3242
3491
|
}
|
|
3243
|
-
if (config.
|
|
3492
|
+
if (config.isAnyProviderEnabled()) {
|
|
3244
3493
|
const verifier = new RecaptchaEnterpriseVerifier(authInternal);
|
|
3245
3494
|
void verifier.verify();
|
|
3246
3495
|
}
|
|
@@ -3666,7 +3915,7 @@ class EmailAuthCredential extends AuthCredential {
|
|
|
3666
3915
|
password: this._password,
|
|
3667
3916
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
3668
3917
|
};
|
|
3669
|
-
return handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword);
|
|
3918
|
+
return handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
3670
3919
|
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
3671
3920
|
return signInWithEmailLink$1(auth, {
|
|
3672
3921
|
email: this._email,
|
|
@@ -3687,7 +3936,7 @@ class EmailAuthCredential extends AuthCredential {
|
|
|
3687
3936
|
password: this._password,
|
|
3688
3937
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
3689
3938
|
};
|
|
3690
|
-
return handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword);
|
|
3939
|
+
return handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
3691
3940
|
case "emailLink" /* SignInMethod.EMAIL_LINK */:
|
|
3692
3941
|
return signInWithEmailLinkForLinking(auth, {
|
|
3693
3942
|
idToken,
|
|
@@ -5682,7 +5931,7 @@ async function sendPasswordResetEmail(auth, email, actionCodeSettings) {
|
|
|
5682
5931
|
if (actionCodeSettings) {
|
|
5683
5932
|
_setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
|
|
5684
5933
|
}
|
|
5685
|
-
await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1);
|
|
5934
|
+
await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
5686
5935
|
}
|
|
5687
5936
|
/**
|
|
5688
5937
|
* Completes the password reset process, given a confirmation code and new password.
|
|
@@ -5815,7 +6064,7 @@ async function createUserWithEmailAndPassword(auth, email, password) {
|
|
|
5815
6064
|
password,
|
|
5816
6065
|
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
5817
6066
|
};
|
|
5818
|
-
const signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
|
|
6067
|
+
const signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
5819
6068
|
const response = await signUpResponse.catch(error => {
|
|
5820
6069
|
if (error.code === `auth/${"password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */}`) {
|
|
5821
6070
|
void recachePasswordPolicy(auth);
|
|
@@ -5929,7 +6178,7 @@ async function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
|
|
|
5929
6178
|
}
|
|
5930
6179
|
}
|
|
5931
6180
|
setActionCodeSettings(request, actionCodeSettings);
|
|
5932
|
-
await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1);
|
|
6181
|
+
await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
|
|
5933
6182
|
}
|
|
5934
6183
|
/**
|
|
5935
6184
|
* Checks if an incoming link is a sign-in with email link suitable for {@link signInWithEmailLink}.
|
|
@@ -7755,7 +8004,7 @@ function _isEmptyString(input) {
|
|
|
7755
8004
|
}
|
|
7756
8005
|
|
|
7757
8006
|
var name = "@firebase/auth";
|
|
7758
|
-
var version = "1.
|
|
8007
|
+
var version = "1.8.0";
|
|
7759
8008
|
|
|
7760
8009
|
/**
|
|
7761
8010
|
* @license
|
|
@@ -7897,7 +8146,7 @@ function registerAuth(clientPlatform) {
|
|
|
7897
8146
|
return (auth => new AuthInterop(auth))(auth);
|
|
7898
8147
|
}, "PRIVATE" /* ComponentType.PRIVATE */).setInstantiationMode("EXPLICIT" /* InstantiationMode.EXPLICIT */));
|
|
7899
8148
|
app.registerVersion(name, version, getVersionForPlatform(clientPlatform));
|
|
7900
|
-
// BUILD_TARGET will be replaced by values like
|
|
8149
|
+
// BUILD_TARGET will be replaced by values like esm2017, cjs2017, etc during the compilation
|
|
7901
8150
|
app.registerVersion(name, version, 'cjs2017');
|
|
7902
8151
|
}
|
|
7903
8152
|
|
|
@@ -7909,11 +8158,13 @@ exports.BaseOAuthProvider = BaseOAuthProvider;
|
|
|
7909
8158
|
exports.Delay = Delay;
|
|
7910
8159
|
exports.EmailAuthCredential = EmailAuthCredential;
|
|
7911
8160
|
exports.EmailAuthProvider = EmailAuthProvider;
|
|
8161
|
+
exports.FAKE_TOKEN = FAKE_TOKEN;
|
|
7912
8162
|
exports.FacebookAuthProvider = FacebookAuthProvider;
|
|
7913
8163
|
exports.FederatedAuthProvider = FederatedAuthProvider;
|
|
7914
8164
|
exports.FetchProvider = FetchProvider;
|
|
7915
8165
|
exports.GithubAuthProvider = GithubAuthProvider;
|
|
7916
8166
|
exports.GoogleAuthProvider = GoogleAuthProvider;
|
|
8167
|
+
exports.MockReCaptcha = MockReCaptcha;
|
|
7917
8168
|
exports.MultiFactorAssertionImpl = MultiFactorAssertionImpl;
|
|
7918
8169
|
exports.OAuthCredential = OAuthCredential;
|
|
7919
8170
|
exports.OAuthProvider = OAuthProvider;
|
|
@@ -7938,6 +8189,7 @@ exports._generateEventId = _generateEventId;
|
|
|
7938
8189
|
exports._getClientVersion = _getClientVersion;
|
|
7939
8190
|
exports._getCurrentUrl = _getCurrentUrl;
|
|
7940
8191
|
exports._getInstance = _getInstance;
|
|
8192
|
+
exports._initializeRecaptchaConfig = _initializeRecaptchaConfig;
|
|
7941
8193
|
exports._isAndroid = _isAndroid;
|
|
7942
8194
|
exports._isChromeIOS = _isChromeIOS;
|
|
7943
8195
|
exports._isFirefox = _isFirefox;
|
|
@@ -7977,6 +8229,7 @@ exports.getIdToken = getIdToken;
|
|
|
7977
8229
|
exports.getIdTokenResult = getIdTokenResult;
|
|
7978
8230
|
exports.getMultiFactorResolver = getMultiFactorResolver;
|
|
7979
8231
|
exports.getRecaptchaParams = getRecaptchaParams;
|
|
8232
|
+
exports.handleRecaptchaFlow = handleRecaptchaFlow;
|
|
7980
8233
|
exports.inMemoryPersistence = inMemoryPersistence;
|
|
7981
8234
|
exports.indexedDBLocalPersistence = indexedDBLocalPersistence;
|
|
7982
8235
|
exports.initializeAuth = initializeAuth;
|
|
@@ -8016,4 +8269,4 @@ exports.useDeviceLanguage = useDeviceLanguage;
|
|
|
8016
8269
|
exports.validatePassword = validatePassword;
|
|
8017
8270
|
exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
|
|
8018
8271
|
exports.verifyPasswordResetCode = verifyPasswordResetCode;
|
|
8019
|
-
//# sourceMappingURL=register-
|
|
8272
|
+
//# sourceMappingURL=register-17c71bd5.js.map
|