@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var register = require('./register-
|
|
5
|
+
var register = require('./register-17c71bd5.js');
|
|
6
6
|
var util = require('@firebase/util');
|
|
7
7
|
var app = require('@firebase/app');
|
|
8
8
|
require('tslib');
|
|
@@ -382,134 +382,6 @@ BrowserSessionPersistence.type = 'SESSION';
|
|
|
382
382
|
*/
|
|
383
383
|
const browserSessionPersistence = BrowserSessionPersistence;
|
|
384
384
|
|
|
385
|
-
/**
|
|
386
|
-
* @license
|
|
387
|
-
* Copyright 2020 Google LLC
|
|
388
|
-
*
|
|
389
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
390
|
-
* you may not use this file except in compliance with the License.
|
|
391
|
-
* You may obtain a copy of the License at
|
|
392
|
-
*
|
|
393
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
394
|
-
*
|
|
395
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
396
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
397
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
398
|
-
* See the License for the specific language governing permissions and
|
|
399
|
-
* limitations under the License.
|
|
400
|
-
*/
|
|
401
|
-
const _SOLVE_TIME_MS = 500;
|
|
402
|
-
const _EXPIRATION_TIME_MS = 60000;
|
|
403
|
-
const _WIDGET_ID_START = 1000000000000;
|
|
404
|
-
class MockReCaptcha {
|
|
405
|
-
constructor(auth) {
|
|
406
|
-
this.auth = auth;
|
|
407
|
-
this.counter = _WIDGET_ID_START;
|
|
408
|
-
this._widgets = new Map();
|
|
409
|
-
}
|
|
410
|
-
render(container, parameters) {
|
|
411
|
-
const id = this.counter;
|
|
412
|
-
this._widgets.set(id, new MockWidget(container, this.auth.name, parameters || {}));
|
|
413
|
-
this.counter++;
|
|
414
|
-
return id;
|
|
415
|
-
}
|
|
416
|
-
reset(optWidgetId) {
|
|
417
|
-
var _a;
|
|
418
|
-
const id = optWidgetId || _WIDGET_ID_START;
|
|
419
|
-
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.delete());
|
|
420
|
-
this._widgets.delete(id);
|
|
421
|
-
}
|
|
422
|
-
getResponse(optWidgetId) {
|
|
423
|
-
var _a;
|
|
424
|
-
const id = optWidgetId || _WIDGET_ID_START;
|
|
425
|
-
return ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.getResponse()) || '';
|
|
426
|
-
}
|
|
427
|
-
async execute(optWidgetId) {
|
|
428
|
-
var _a;
|
|
429
|
-
const id = optWidgetId || _WIDGET_ID_START;
|
|
430
|
-
void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.execute());
|
|
431
|
-
return '';
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
class MockWidget {
|
|
435
|
-
constructor(containerOrId, appName, params) {
|
|
436
|
-
this.params = params;
|
|
437
|
-
this.timerId = null;
|
|
438
|
-
this.deleted = false;
|
|
439
|
-
this.responseToken = null;
|
|
440
|
-
this.clickHandler = () => {
|
|
441
|
-
this.execute();
|
|
442
|
-
};
|
|
443
|
-
const container = typeof containerOrId === 'string'
|
|
444
|
-
? document.getElementById(containerOrId)
|
|
445
|
-
: containerOrId;
|
|
446
|
-
register._assert(container, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */, { appName });
|
|
447
|
-
this.container = container;
|
|
448
|
-
this.isVisible = this.params.size !== 'invisible';
|
|
449
|
-
if (this.isVisible) {
|
|
450
|
-
this.execute();
|
|
451
|
-
}
|
|
452
|
-
else {
|
|
453
|
-
this.container.addEventListener('click', this.clickHandler);
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
getResponse() {
|
|
457
|
-
this.checkIfDeleted();
|
|
458
|
-
return this.responseToken;
|
|
459
|
-
}
|
|
460
|
-
delete() {
|
|
461
|
-
this.checkIfDeleted();
|
|
462
|
-
this.deleted = true;
|
|
463
|
-
if (this.timerId) {
|
|
464
|
-
clearTimeout(this.timerId);
|
|
465
|
-
this.timerId = null;
|
|
466
|
-
}
|
|
467
|
-
this.container.removeEventListener('click', this.clickHandler);
|
|
468
|
-
}
|
|
469
|
-
execute() {
|
|
470
|
-
this.checkIfDeleted();
|
|
471
|
-
if (this.timerId) {
|
|
472
|
-
return;
|
|
473
|
-
}
|
|
474
|
-
this.timerId = window.setTimeout(() => {
|
|
475
|
-
this.responseToken = generateRandomAlphaNumericString(50);
|
|
476
|
-
const { callback, 'expired-callback': expiredCallback } = this.params;
|
|
477
|
-
if (callback) {
|
|
478
|
-
try {
|
|
479
|
-
callback(this.responseToken);
|
|
480
|
-
}
|
|
481
|
-
catch (e) { }
|
|
482
|
-
}
|
|
483
|
-
this.timerId = window.setTimeout(() => {
|
|
484
|
-
this.timerId = null;
|
|
485
|
-
this.responseToken = null;
|
|
486
|
-
if (expiredCallback) {
|
|
487
|
-
try {
|
|
488
|
-
expiredCallback();
|
|
489
|
-
}
|
|
490
|
-
catch (e) { }
|
|
491
|
-
}
|
|
492
|
-
if (this.isVisible) {
|
|
493
|
-
this.execute();
|
|
494
|
-
}
|
|
495
|
-
}, _EXPIRATION_TIME_MS);
|
|
496
|
-
}, _SOLVE_TIME_MS);
|
|
497
|
-
}
|
|
498
|
-
checkIfDeleted() {
|
|
499
|
-
if (this.deleted) {
|
|
500
|
-
throw new Error('reCAPTCHA mock was already deleted!');
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
function generateRandomAlphaNumericString(len) {
|
|
505
|
-
const chars = [];
|
|
506
|
-
const allowedChars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
507
|
-
for (let i = 0; i < len; i++) {
|
|
508
|
-
chars.push(allowedChars.charAt(Math.floor(Math.random() * allowedChars.length)));
|
|
509
|
-
}
|
|
510
|
-
return chars.join('');
|
|
511
|
-
}
|
|
512
|
-
|
|
513
385
|
/**
|
|
514
386
|
* @license
|
|
515
387
|
* Copyright 2020 Google LLC
|
|
@@ -607,7 +479,7 @@ function isHostLanguageValid(hl) {
|
|
|
607
479
|
}
|
|
608
480
|
class MockReCaptchaLoaderImpl {
|
|
609
481
|
async load(auth) {
|
|
610
|
-
return new MockReCaptcha(auth);
|
|
482
|
+
return new register.MockReCaptcha(auth);
|
|
611
483
|
}
|
|
612
484
|
clearedOneInstance() { }
|
|
613
485
|
}
|
|
@@ -864,12 +736,15 @@ class ConfirmationResultImpl {
|
|
|
864
736
|
* provides the code sent to their phone, call {@link ConfirmationResult.confirm}
|
|
865
737
|
* with the code to sign the user in.
|
|
866
738
|
*
|
|
867
|
-
* For abuse prevention, this method
|
|
868
|
-
* This SDK includes
|
|
739
|
+
* For abuse prevention, this method requires a {@link ApplicationVerifier}.
|
|
740
|
+
* This SDK includes an implementation based on reCAPTCHA v2, {@link RecaptchaVerifier}.
|
|
869
741
|
* This function can work on other platforms that do not support the
|
|
870
742
|
* {@link RecaptchaVerifier} (like React Native), but you need to use a
|
|
871
743
|
* third-party {@link ApplicationVerifier} implementation.
|
|
872
744
|
*
|
|
745
|
+
* If you've enabled project-level reCAPTCHA Enterprise bot protection in
|
|
746
|
+
* Enforce mode, you can omit the {@link ApplicationVerifier}.
|
|
747
|
+
*
|
|
873
748
|
* This method does not work in a Node.js environment or with {@link Auth} instances created with a
|
|
874
749
|
* {@link @firebase/app#FirebaseServerApp}.
|
|
875
750
|
*
|
|
@@ -943,10 +818,19 @@ async function reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) {
|
|
|
943
818
|
*/
|
|
944
819
|
async function _verifyPhoneNumber(auth, options, verifier) {
|
|
945
820
|
var _a;
|
|
946
|
-
|
|
821
|
+
if (!auth._getRecaptchaConfig()) {
|
|
822
|
+
try {
|
|
823
|
+
await register._initializeRecaptchaConfig(auth);
|
|
824
|
+
}
|
|
825
|
+
catch (error) {
|
|
826
|
+
// If an error occurs while fetching the config, there is no way to know the enablement state
|
|
827
|
+
// of Phone provider, so we proceed with recaptcha V2 verification.
|
|
828
|
+
// The error is likely "recaptchaKey undefined", as reCAPTCHA Enterprise is not
|
|
829
|
+
// enabled for any provider.
|
|
830
|
+
console.log('Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.');
|
|
831
|
+
}
|
|
832
|
+
}
|
|
947
833
|
try {
|
|
948
|
-
register._assert(typeof recaptchaToken === 'string', auth, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
949
|
-
register._assert(verifier.type === RECAPTCHA_VERIFIER_TYPE, auth, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
950
834
|
let phoneInfoOptions;
|
|
951
835
|
if (typeof options === 'string') {
|
|
952
836
|
phoneInfoOptions = {
|
|
@@ -960,12 +844,25 @@ async function _verifyPhoneNumber(auth, options, verifier) {
|
|
|
960
844
|
const session = phoneInfoOptions.session;
|
|
961
845
|
if ('phoneNumber' in phoneInfoOptions) {
|
|
962
846
|
register._assert(session.type === "enroll" /* MultiFactorSessionType.ENROLL */, auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
|
|
963
|
-
const
|
|
847
|
+
const startPhoneMfaEnrollmentRequest = {
|
|
964
848
|
idToken: session.credential,
|
|
965
849
|
phoneEnrollmentInfo: {
|
|
966
850
|
phoneNumber: phoneInfoOptions.phoneNumber,
|
|
967
|
-
|
|
851
|
+
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
852
|
+
}
|
|
853
|
+
};
|
|
854
|
+
const startEnrollPhoneMfaActionCallback = async (authInstance, request) => {
|
|
855
|
+
// If reCAPTCHA Enterprise token is FAKE_TOKEN, fetch reCAPTCHA v2 token and inject into request.
|
|
856
|
+
if (request.phoneEnrollmentInfo.captchaResponse === register.FAKE_TOKEN) {
|
|
857
|
+
register._assert((verifier === null || verifier === void 0 ? void 0 : verifier.type) === RECAPTCHA_VERIFIER_TYPE, authInstance, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
858
|
+
const requestWithRecaptchaV2 = await injectRecaptchaV2Token(authInstance, request, verifier);
|
|
859
|
+
return register.startEnrollPhoneMfa(authInstance, requestWithRecaptchaV2);
|
|
968
860
|
}
|
|
861
|
+
return register.startEnrollPhoneMfa(authInstance, request);
|
|
862
|
+
};
|
|
863
|
+
const startPhoneMfaEnrollmentResponse = register.handleRecaptchaFlow(auth, startPhoneMfaEnrollmentRequest, "mfaSmsEnrollment" /* RecaptchaActionName.MFA_SMS_ENROLLMENT */, startEnrollPhoneMfaActionCallback, "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */);
|
|
864
|
+
const response = await startPhoneMfaEnrollmentResponse.catch(error => {
|
|
865
|
+
return Promise.reject(error);
|
|
969
866
|
});
|
|
970
867
|
return response.phoneSessionInfo.sessionInfo;
|
|
971
868
|
}
|
|
@@ -974,26 +871,52 @@ async function _verifyPhoneNumber(auth, options, verifier) {
|
|
|
974
871
|
const mfaEnrollmentId = ((_a = phoneInfoOptions.multiFactorHint) === null || _a === void 0 ? void 0 : _a.uid) ||
|
|
975
872
|
phoneInfoOptions.multiFactorUid;
|
|
976
873
|
register._assert(mfaEnrollmentId, auth, "missing-multi-factor-info" /* AuthErrorCode.MISSING_MFA_INFO */);
|
|
977
|
-
const
|
|
874
|
+
const startPhoneMfaSignInRequest = {
|
|
978
875
|
mfaPendingCredential: session.credential,
|
|
979
876
|
mfaEnrollmentId,
|
|
980
877
|
phoneSignInInfo: {
|
|
981
|
-
|
|
878
|
+
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
const startSignInPhoneMfaActionCallback = async (authInstance, request) => {
|
|
882
|
+
// If reCAPTCHA Enterprise token is FAKE_TOKEN, fetch reCAPTCHA v2 token and inject into request.
|
|
883
|
+
if (request.phoneSignInInfo.captchaResponse === register.FAKE_TOKEN) {
|
|
884
|
+
register._assert((verifier === null || verifier === void 0 ? void 0 : verifier.type) === RECAPTCHA_VERIFIER_TYPE, authInstance, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
885
|
+
const requestWithRecaptchaV2 = await injectRecaptchaV2Token(authInstance, request, verifier);
|
|
886
|
+
return register.startSignInPhoneMfa(authInstance, requestWithRecaptchaV2);
|
|
982
887
|
}
|
|
888
|
+
return register.startSignInPhoneMfa(authInstance, request);
|
|
889
|
+
};
|
|
890
|
+
const startPhoneMfaSignInResponse = register.handleRecaptchaFlow(auth, startPhoneMfaSignInRequest, "mfaSmsSignIn" /* RecaptchaActionName.MFA_SMS_SIGNIN */, startSignInPhoneMfaActionCallback, "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */);
|
|
891
|
+
const response = await startPhoneMfaSignInResponse.catch(error => {
|
|
892
|
+
return Promise.reject(error);
|
|
983
893
|
});
|
|
984
894
|
return response.phoneResponseInfo.sessionInfo;
|
|
985
895
|
}
|
|
986
896
|
}
|
|
987
897
|
else {
|
|
988
|
-
const
|
|
898
|
+
const sendPhoneVerificationCodeRequest = {
|
|
989
899
|
phoneNumber: phoneInfoOptions.phoneNumber,
|
|
990
|
-
|
|
900
|
+
clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
|
|
901
|
+
};
|
|
902
|
+
const sendPhoneVerificationCodeActionCallback = async (authInstance, request) => {
|
|
903
|
+
// If reCAPTCHA Enterprise token is FAKE_TOKEN, fetch reCAPTCHA v2 token and inject into request.
|
|
904
|
+
if (request.captchaResponse === register.FAKE_TOKEN) {
|
|
905
|
+
register._assert((verifier === null || verifier === void 0 ? void 0 : verifier.type) === RECAPTCHA_VERIFIER_TYPE, authInstance, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
906
|
+
const requestWithRecaptchaV2 = await injectRecaptchaV2Token(authInstance, request, verifier);
|
|
907
|
+
return register.sendPhoneVerificationCode(authInstance, requestWithRecaptchaV2);
|
|
908
|
+
}
|
|
909
|
+
return register.sendPhoneVerificationCode(authInstance, request);
|
|
910
|
+
};
|
|
911
|
+
const sendPhoneVerificationCodeResponse = register.handleRecaptchaFlow(auth, sendPhoneVerificationCodeRequest, "sendVerificationCode" /* RecaptchaActionName.SEND_VERIFICATION_CODE */, sendPhoneVerificationCodeActionCallback, "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */);
|
|
912
|
+
const response = await sendPhoneVerificationCodeResponse.catch(error => {
|
|
913
|
+
return Promise.reject(error);
|
|
991
914
|
});
|
|
992
|
-
return sessionInfo;
|
|
915
|
+
return response.sessionInfo;
|
|
993
916
|
}
|
|
994
917
|
}
|
|
995
918
|
finally {
|
|
996
|
-
verifier._reset();
|
|
919
|
+
verifier === null || verifier === void 0 ? void 0 : verifier._reset();
|
|
997
920
|
}
|
|
998
921
|
}
|
|
999
922
|
/**
|
|
@@ -1025,6 +948,49 @@ async function updatePhoneNumber(user, credential) {
|
|
|
1025
948
|
return Promise.reject(register._serverAppCurrentUserOperationNotSupportedError(userInternal.auth));
|
|
1026
949
|
}
|
|
1027
950
|
await register._link(userInternal, credential);
|
|
951
|
+
}
|
|
952
|
+
// Helper function that fetches and injects a reCAPTCHA v2 token into the request.
|
|
953
|
+
async function injectRecaptchaV2Token(auth, request, recaptchaV2Verifier) {
|
|
954
|
+
register._assert(recaptchaV2Verifier.type === RECAPTCHA_VERIFIER_TYPE, auth, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
955
|
+
const recaptchaV2Token = await recaptchaV2Verifier.verify();
|
|
956
|
+
register._assert(typeof recaptchaV2Token === 'string', auth, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */);
|
|
957
|
+
const newRequest = Object.assign({}, request);
|
|
958
|
+
if ('phoneEnrollmentInfo' in newRequest) {
|
|
959
|
+
const phoneNumber = newRequest.phoneEnrollmentInfo.phoneNumber;
|
|
960
|
+
const captchaResponse = newRequest.phoneEnrollmentInfo.captchaResponse;
|
|
961
|
+
const clientType = newRequest
|
|
962
|
+
.phoneEnrollmentInfo.clientType;
|
|
963
|
+
const recaptchaVersion = newRequest.phoneEnrollmentInfo.recaptchaVersion;
|
|
964
|
+
Object.assign(newRequest, {
|
|
965
|
+
'phoneEnrollmentInfo': {
|
|
966
|
+
phoneNumber,
|
|
967
|
+
recaptchaToken: recaptchaV2Token,
|
|
968
|
+
captchaResponse,
|
|
969
|
+
clientType,
|
|
970
|
+
recaptchaVersion
|
|
971
|
+
}
|
|
972
|
+
});
|
|
973
|
+
return newRequest;
|
|
974
|
+
}
|
|
975
|
+
else if ('phoneSignInInfo' in newRequest) {
|
|
976
|
+
const captchaResponse = newRequest.phoneSignInInfo.captchaResponse;
|
|
977
|
+
const clientType = newRequest
|
|
978
|
+
.phoneSignInInfo.clientType;
|
|
979
|
+
const recaptchaVersion = newRequest.phoneSignInInfo.recaptchaVersion;
|
|
980
|
+
Object.assign(newRequest, {
|
|
981
|
+
'phoneSignInInfo': {
|
|
982
|
+
recaptchaToken: recaptchaV2Token,
|
|
983
|
+
captchaResponse,
|
|
984
|
+
clientType,
|
|
985
|
+
recaptchaVersion
|
|
986
|
+
}
|
|
987
|
+
});
|
|
988
|
+
return newRequest;
|
|
989
|
+
}
|
|
990
|
+
else {
|
|
991
|
+
Object.assign(newRequest, { 'recaptchaToken': recaptchaV2Token });
|
|
992
|
+
return newRequest;
|
|
993
|
+
}
|
|
1028
994
|
}
|
|
1029
995
|
|
|
1030
996
|
/**
|
|
@@ -1096,12 +1062,14 @@ class PhoneAuthProvider {
|
|
|
1096
1062
|
*
|
|
1097
1063
|
* @param phoneInfoOptions - The user's {@link PhoneInfoOptions}. The phone number should be in
|
|
1098
1064
|
* E.164 format (e.g. +16505550101).
|
|
1099
|
-
* @param applicationVerifier -
|
|
1100
|
-
*
|
|
1101
|
-
* {@link RecaptchaVerifier}.
|
|
1065
|
+
* @param applicationVerifier - An {@link ApplicationVerifier}, which prevents
|
|
1066
|
+
* requests from unauthorized clients. This SDK includes an implementation
|
|
1067
|
+
* based on reCAPTCHA v2, {@link RecaptchaVerifier}. If you've enabled
|
|
1068
|
+
* reCAPTCHA Enterprise bot protection in Enforce mode, this parameter is
|
|
1069
|
+
* optional; in all other configurations, the parameter is required.
|
|
1102
1070
|
*
|
|
1103
1071
|
* @returns A Promise for a verification ID that can be passed to
|
|
1104
|
-
* {@link PhoneAuthProvider.credential} to identify this flow
|
|
1072
|
+
* {@link PhoneAuthProvider.credential} to identify this flow.
|
|
1105
1073
|
*/
|
|
1106
1074
|
verifyPhoneNumber(phoneOptions, applicationVerifier) {
|
|
1107
1075
|
return _verifyPhoneNumber(this.auth, phoneOptions, util.getModularInstance(applicationVerifier));
|