@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.
Files changed (435) hide show
  1. package/README.md +32 -1
  2. package/dist/auth-public.d.ts +22 -10
  3. package/dist/auth.d.ts +22 -10
  4. package/dist/browser-cjs/{index-e2e765e6.js → index-b60d3212.js} +393 -176
  5. package/dist/browser-cjs/index-b60d3212.js.map +1 -0
  6. package/dist/browser-cjs/index.js +1 -1
  7. package/dist/browser-cjs/internal.js +1 -1
  8. package/dist/browser-cjs/src/api/account_management/mfa.d.ts +5 -1
  9. package/dist/browser-cjs/src/api/authentication/mfa.d.ts +5 -1
  10. package/dist/browser-cjs/src/api/authentication/sms.d.ts +5 -1
  11. package/dist/browser-cjs/src/api/index.d.ts +7 -3
  12. package/dist/browser-cjs/src/platform_browser/providers/phone.d.ts +7 -5
  13. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  14. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  15. package/dist/browser-cjs/src/platform_browser/strategies/phone.d.ts +10 -6
  16. package/dist/cordova/auth-cordova-public.d.ts +7 -0
  17. package/dist/cordova/auth-cordova.d.ts +7 -0
  18. package/dist/cordova/index.js +6 -7
  19. package/dist/cordova/index.js.map +1 -1
  20. package/dist/cordova/internal.js +660 -985
  21. package/dist/cordova/internal.js.map +1 -1
  22. package/dist/cordova/popup_redirect-6fcd583a.js +9635 -0
  23. package/dist/cordova/popup_redirect-6fcd583a.js.map +1 -0
  24. package/dist/cordova/src/api/account_management/mfa.d.ts +5 -1
  25. package/dist/cordova/src/api/authentication/mfa.d.ts +5 -1
  26. package/dist/cordova/src/api/authentication/sms.d.ts +5 -1
  27. package/dist/cordova/src/api/index.d.ts +7 -3
  28. package/dist/cordova/src/platform_browser/providers/phone.d.ts +7 -5
  29. package/dist/cordova/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  30. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  31. package/dist/cordova/src/platform_browser/strategies/phone.d.ts +10 -6
  32. package/dist/{esm5/src/api/account_management/mfa.test.d.ts → cordova/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
  33. package/dist/esm2017/{index-68602d24.js → index-a7d5cfcc.js} +393 -176
  34. package/dist/esm2017/index-a7d5cfcc.js.map +1 -0
  35. package/dist/esm2017/index.js +1 -1
  36. package/dist/esm2017/internal.js +2 -2
  37. package/dist/esm2017/src/api/account_management/mfa.d.ts +5 -1
  38. package/dist/esm2017/src/api/authentication/mfa.d.ts +5 -1
  39. package/dist/esm2017/src/api/authentication/sms.d.ts +5 -1
  40. package/dist/esm2017/src/api/index.d.ts +7 -3
  41. package/dist/esm2017/src/platform_browser/providers/phone.d.ts +7 -5
  42. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  43. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  44. package/dist/esm2017/src/platform_browser/strategies/phone.d.ts +10 -6
  45. package/dist/{esm5/src/api/account_management/email_and_password.test.d.ts → esm2017/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
  46. package/dist/index.webworker.js +7912 -0
  47. package/dist/index.webworker.js.map +1 -0
  48. package/dist/node/index.js +2 -3
  49. package/dist/node/index.js.map +1 -1
  50. package/dist/node/internal.js +555 -844
  51. package/dist/node/internal.js.map +1 -1
  52. package/dist/node/src/api/account_management/mfa.d.ts +5 -1
  53. package/dist/node/src/api/authentication/mfa.d.ts +5 -1
  54. package/dist/node/src/api/authentication/sms.d.ts +5 -1
  55. package/dist/node/src/api/index.d.ts +7 -3
  56. package/dist/node/src/platform_browser/providers/phone.d.ts +7 -5
  57. package/dist/node/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  58. package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  59. package/dist/node/src/platform_browser/strategies/phone.d.ts +10 -6
  60. package/dist/node/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
  61. package/dist/node/totp-ab108bed.js +7582 -0
  62. package/dist/node/totp-ab108bed.js.map +1 -0
  63. package/dist/node-esm/index.js +1 -2
  64. package/dist/node-esm/index.js.map +1 -1
  65. package/dist/node-esm/internal.js +2 -3
  66. package/dist/node-esm/internal.js.map +1 -1
  67. package/dist/node-esm/src/api/account_management/mfa.d.ts +5 -1
  68. package/dist/node-esm/src/api/authentication/mfa.d.ts +5 -1
  69. package/dist/node-esm/src/api/authentication/sms.d.ts +5 -1
  70. package/dist/node-esm/src/api/index.d.ts +7 -3
  71. package/dist/node-esm/src/platform_browser/providers/phone.d.ts +7 -5
  72. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  73. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  74. package/dist/node-esm/src/platform_browser/strategies/phone.d.ts +10 -6
  75. package/dist/{esm5/scripts/run_node_tests.d.ts → node-esm/test/integration/flows/recaptcha_enterprise.test.d.ts} +1 -1
  76. package/dist/node-esm/{totp-219bb96f.js → totp-f311e20a.js} +170 -33
  77. package/dist/node-esm/totp-f311e20a.js.map +1 -0
  78. package/dist/rn/index-4d73adbf.js +8575 -0
  79. package/dist/rn/index-4d73adbf.js.map +1 -0
  80. package/dist/rn/index.js +45 -55
  81. package/dist/rn/index.js.map +1 -1
  82. package/dist/rn/internal.js +1195 -1890
  83. package/dist/rn/internal.js.map +1 -1
  84. package/dist/rn/src/api/account_management/mfa.d.ts +5 -1
  85. package/dist/rn/src/api/authentication/mfa.d.ts +5 -1
  86. package/dist/rn/src/api/authentication/sms.d.ts +5 -1
  87. package/dist/rn/src/api/index.d.ts +7 -3
  88. package/dist/rn/src/platform_browser/providers/phone.d.ts +7 -5
  89. package/dist/rn/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  90. package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  91. package/dist/rn/src/platform_browser/strategies/phone.d.ts +10 -6
  92. package/dist/rn/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
  93. package/dist/src/api/account_management/mfa.d.ts +5 -1
  94. package/dist/src/api/authentication/mfa.d.ts +5 -1
  95. package/dist/src/api/authentication/sms.d.ts +5 -1
  96. package/dist/src/api/index.d.ts +7 -3
  97. package/dist/src/platform_browser/providers/phone.d.ts +7 -5
  98. package/dist/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  99. package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  100. package/dist/src/platform_browser/strategies/phone.d.ts +10 -6
  101. package/dist/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
  102. package/dist/web-extension-cjs/index.js +1 -1
  103. package/dist/web-extension-cjs/internal.js +115 -147
  104. package/dist/web-extension-cjs/internal.js.map +1 -1
  105. package/dist/web-extension-cjs/{register-674a8250.js → register-17c71bd5.js} +284 -31
  106. package/dist/web-extension-cjs/register-17c71bd5.js.map +1 -0
  107. package/dist/web-extension-cjs/src/api/account_management/mfa.d.ts +5 -1
  108. package/dist/web-extension-cjs/src/api/authentication/mfa.d.ts +5 -1
  109. package/dist/web-extension-cjs/src/api/authentication/sms.d.ts +5 -1
  110. package/dist/web-extension-cjs/src/api/index.d.ts +7 -3
  111. package/dist/web-extension-cjs/src/platform_browser/providers/phone.d.ts +7 -5
  112. package/dist/web-extension-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  113. package/dist/web-extension-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  114. package/dist/web-extension-cjs/src/platform_browser/strategies/phone.d.ts +10 -6
  115. package/dist/web-extension-cjs/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
  116. package/dist/web-extension-esm2017/auth-web-extension-public.d.ts +7 -0
  117. package/dist/web-extension-esm2017/auth-web-extension.d.ts +7 -0
  118. package/dist/web-extension-esm2017/index.js +2 -2
  119. package/dist/web-extension-esm2017/internal.js +115 -147
  120. package/dist/web-extension-esm2017/internal.js.map +1 -1
  121. package/dist/web-extension-esm2017/{register-428f8789.js → register-77f1d56a.js} +281 -32
  122. package/dist/web-extension-esm2017/register-77f1d56a.js.map +1 -0
  123. package/dist/web-extension-esm2017/src/api/account_management/mfa.d.ts +5 -1
  124. package/dist/web-extension-esm2017/src/api/authentication/mfa.d.ts +5 -1
  125. package/dist/web-extension-esm2017/src/api/authentication/sms.d.ts +5 -1
  126. package/dist/web-extension-esm2017/src/api/index.d.ts +7 -3
  127. package/dist/web-extension-esm2017/src/platform_browser/providers/phone.d.ts +7 -5
  128. package/dist/web-extension-esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +7 -0
  129. package/dist/web-extension-esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +4 -4
  130. package/dist/web-extension-esm2017/src/platform_browser/strategies/phone.d.ts +10 -6
  131. package/dist/web-extension-esm2017/test/integration/flows/recaptcha_enterprise.test.d.ts +17 -0
  132. package/internal/package.json +5 -3
  133. package/package.json +10 -11
  134. package/dist/browser-cjs/index-e2e765e6.js.map +0 -1
  135. package/dist/cordova/popup_redirect-abcbab4c.js +0 -11249
  136. package/dist/cordova/popup_redirect-abcbab4c.js.map +0 -1
  137. package/dist/esm2017/index-68602d24.js.map +0 -1
  138. package/dist/esm5/index-c0803b14.js +0 -12741
  139. package/dist/esm5/index-c0803b14.js.map +0 -1
  140. package/dist/esm5/index.cordova.d.ts +0 -32
  141. package/dist/esm5/index.d.ts +0 -37
  142. package/dist/esm5/index.doc.d.ts +0 -24
  143. package/dist/esm5/index.js +0 -7
  144. package/dist/esm5/index.js.map +0 -1
  145. package/dist/esm5/index.node.d.ts +0 -17
  146. package/dist/esm5/index.rn.d.ts +0 -40
  147. package/dist/esm5/index.shared.d.ts +0 -19
  148. package/dist/esm5/index.web-extension.d.ts +0 -31
  149. package/dist/esm5/index.webworker.d.ts +0 -21
  150. package/dist/esm5/internal/index.d.ts +0 -42
  151. package/dist/esm5/internal.js +0 -682
  152. package/dist/esm5/internal.js.map +0 -1
  153. package/dist/esm5/src/api/account_management/account.d.ts +0 -59
  154. package/dist/esm5/src/api/account_management/account.test.d.ts +0 -17
  155. package/dist/esm5/src/api/account_management/email_and_password.d.ts +0 -49
  156. package/dist/esm5/src/api/account_management/mfa.d.ts +0 -103
  157. package/dist/esm5/src/api/account_management/profile.d.ts +0 -29
  158. package/dist/esm5/src/api/account_management/profile.test.d.ts +0 -17
  159. package/dist/esm5/src/api/authentication/create_auth_uri.d.ts +0 -26
  160. package/dist/esm5/src/api/authentication/create_auth_uri.test.d.ts +0 -17
  161. package/dist/esm5/src/api/authentication/custom_token.d.ts +0 -26
  162. package/dist/esm5/src/api/authentication/custom_token.test.d.ts +0 -17
  163. package/dist/esm5/src/api/authentication/email_and_password.d.ts +0 -85
  164. package/dist/esm5/src/api/authentication/email_and_password.test.d.ts +0 -17
  165. package/dist/esm5/src/api/authentication/email_link.d.ts +0 -32
  166. package/dist/esm5/src/api/authentication/email_link.test.d.ts +0 -17
  167. package/dist/esm5/src/api/authentication/idp.d.ts +0 -40
  168. package/dist/esm5/src/api/authentication/idp.test.d.ts +0 -17
  169. package/dist/esm5/src/api/authentication/mfa.d.ts +0 -69
  170. package/dist/esm5/src/api/authentication/mfa.test.d.ts +0 -17
  171. package/dist/esm5/src/api/authentication/recaptcha.d.ts +0 -34
  172. package/dist/esm5/src/api/authentication/recaptcha.test.d.ts +0 -17
  173. package/dist/esm5/src/api/authentication/sign_up.d.ts +0 -34
  174. package/dist/esm5/src/api/authentication/sign_up.test.d.ts +0 -17
  175. package/dist/esm5/src/api/authentication/sms.d.ts +0 -50
  176. package/dist/esm5/src/api/authentication/sms.test.d.ts +0 -17
  177. package/dist/esm5/src/api/authentication/token.d.ts +0 -37
  178. package/dist/esm5/src/api/authentication/token.test.d.ts +0 -17
  179. package/dist/esm5/src/api/errors.d.ts +0 -128
  180. package/dist/esm5/src/api/index.d.ts +0 -97
  181. package/dist/esm5/src/api/index.test.d.ts +0 -17
  182. package/dist/esm5/src/api/password_policy/get_password_policy.d.ts +0 -48
  183. package/dist/esm5/src/api/password_policy/get_password_policy.test.d.ts +0 -17
  184. package/dist/esm5/src/api/project_config/get_project_config.d.ts +0 -25
  185. package/dist/esm5/src/api/project_config/get_project_config.test.d.ts +0 -17
  186. package/dist/esm5/src/core/action_code_url.d.ts +0 -73
  187. package/dist/esm5/src/core/action_code_url.test.d.ts +0 -17
  188. package/dist/esm5/src/core/auth/auth_event_manager.d.ts +0 -34
  189. package/dist/esm5/src/core/auth/auth_event_manager.test.d.ts +0 -17
  190. package/dist/esm5/src/core/auth/auth_impl.d.ts +0 -130
  191. package/dist/esm5/src/core/auth/auth_impl.test.d.ts +0 -17
  192. package/dist/esm5/src/core/auth/emulator.d.ts +0 -42
  193. package/dist/esm5/src/core/auth/emulator.test.d.ts +0 -17
  194. package/dist/esm5/src/core/auth/firebase_internal.d.ts +0 -35
  195. package/dist/esm5/src/core/auth/firebase_internal.test.d.ts +0 -17
  196. package/dist/esm5/src/core/auth/initialize.d.ts +0 -46
  197. package/dist/esm5/src/core/auth/initialize.test.d.ts +0 -17
  198. package/dist/esm5/src/core/auth/middleware.d.ts +0 -25
  199. package/dist/esm5/src/core/auth/middleware.test.d.ts +0 -17
  200. package/dist/esm5/src/core/auth/password_policy_impl.d.ts +0 -59
  201. package/dist/esm5/src/core/auth/password_policy_impl.test.d.ts +0 -17
  202. package/dist/esm5/src/core/auth/register.d.ts +0 -23
  203. package/dist/esm5/src/core/credentials/auth_credential.d.ts +0 -75
  204. package/dist/esm5/src/core/credentials/email.d.ts +0 -60
  205. package/dist/esm5/src/core/credentials/email.test.d.ts +0 -17
  206. package/dist/esm5/src/core/credentials/index.d.ts +0 -23
  207. package/dist/esm5/src/core/credentials/oauth.d.ts +0 -81
  208. package/dist/esm5/src/core/credentials/oauth.test.d.ts +0 -17
  209. package/dist/esm5/src/core/credentials/phone.d.ts +0 -52
  210. package/dist/esm5/src/core/credentials/phone.test.d.ts +0 -17
  211. package/dist/esm5/src/core/credentials/saml.d.ts +0 -52
  212. package/dist/esm5/src/core/credentials/saml.test.d.ts +0 -17
  213. package/dist/esm5/src/core/errors.d.ts +0 -325
  214. package/dist/esm5/src/core/errors.test.d.ts +0 -17
  215. package/dist/esm5/src/core/index.d.ts +0 -230
  216. package/dist/esm5/src/core/persistence/in_memory.d.ts +0 -35
  217. package/dist/esm5/src/core/persistence/in_memory.test.d.ts +0 -17
  218. package/dist/esm5/src/core/persistence/index.d.ts +0 -41
  219. package/dist/esm5/src/core/persistence/persistence_user_manager.d.ts +0 -45
  220. package/dist/esm5/src/core/persistence/persistence_user_manager.test.d.ts +0 -17
  221. package/dist/esm5/src/core/providers/email.d.ts +0 -83
  222. package/dist/esm5/src/core/providers/email.test.d.ts +0 -17
  223. package/dist/esm5/src/core/providers/facebook.d.ts +0 -93
  224. package/dist/esm5/src/core/providers/facebook.test.d.ts +0 -17
  225. package/dist/esm5/src/core/providers/federated.d.ts +0 -64
  226. package/dist/esm5/src/core/providers/federated.test.d.ts +0 -17
  227. package/dist/esm5/src/core/providers/github.d.ts +0 -89
  228. package/dist/esm5/src/core/providers/github.test.d.ts +0 -17
  229. package/dist/esm5/src/core/providers/google.d.ts +0 -96
  230. package/dist/esm5/src/core/providers/google.test.d.ts +0 -17
  231. package/dist/esm5/src/core/providers/oauth.d.ts +0 -151
  232. package/dist/esm5/src/core/providers/oauth.test.d.ts +0 -17
  233. package/dist/esm5/src/core/providers/saml.d.ts +0 -62
  234. package/dist/esm5/src/core/providers/saml.test.d.ts +0 -17
  235. package/dist/esm5/src/core/providers/twitter.d.ts +0 -103
  236. package/dist/esm5/src/core/providers/twitter.test.d.ts +0 -17
  237. package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.d.ts +0 -44
  238. package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.test.d.ts +0 -17
  239. package/dist/esm5/src/core/strategies/action_code_settings.d.ts +0 -19
  240. package/dist/esm5/src/core/strategies/action_code_settings.test.d.ts +0 -17
  241. package/dist/esm5/src/core/strategies/anonymous.d.ts +0 -32
  242. package/dist/esm5/src/core/strategies/anonymous.test.d.ts +0 -17
  243. package/dist/esm5/src/core/strategies/credential.d.ts +0 -64
  244. package/dist/esm5/src/core/strategies/credential.test.d.ts +0 -17
  245. package/dist/esm5/src/core/strategies/custom_token.d.ts +0 -37
  246. package/dist/esm5/src/core/strategies/custom_token.test.d.ts +0 -17
  247. package/dist/esm5/src/core/strategies/email.d.ts +0 -104
  248. package/dist/esm5/src/core/strategies/email.test.d.ts +0 -17
  249. package/dist/esm5/src/core/strategies/email_and_password.d.ts +0 -139
  250. package/dist/esm5/src/core/strategies/email_and_password.test.d.ts +0 -17
  251. package/dist/esm5/src/core/strategies/email_link.d.ts +0 -107
  252. package/dist/esm5/src/core/strategies/email_link.test.d.ts +0 -17
  253. package/dist/esm5/src/core/strategies/idp.d.ts +0 -32
  254. package/dist/esm5/src/core/strategies/idp.test.d.ts +0 -17
  255. package/dist/esm5/src/core/strategies/redirect.d.ts +0 -36
  256. package/dist/esm5/src/core/strategies/redirect.test.d.ts +0 -17
  257. package/dist/esm5/src/core/user/account_info.d.ts +0 -68
  258. package/dist/esm5/src/core/user/account_info.test.d.ts +0 -17
  259. package/dist/esm5/src/core/user/additional_user_info.d.ts +0 -31
  260. package/dist/esm5/src/core/user/additional_user_info.test.d.ts +0 -17
  261. package/dist/esm5/src/core/user/id_token_result.d.ts +0 -48
  262. package/dist/esm5/src/core/user/id_token_result.test.d.ts +0 -17
  263. package/dist/esm5/src/core/user/invalidation.d.ts +0 -18
  264. package/dist/esm5/src/core/user/invalidation.test.d.ts +0 -17
  265. package/dist/esm5/src/core/user/link_unlink.d.ts +0 -30
  266. package/dist/esm5/src/core/user/link_unlink.test.d.ts +0 -17
  267. package/dist/esm5/src/core/user/proactive_refresh.d.ts +0 -34
  268. package/dist/esm5/src/core/user/proactive_refresh.test.d.ts +0 -17
  269. package/dist/esm5/src/core/user/reauthenticate.d.ts +0 -20
  270. package/dist/esm5/src/core/user/reauthenticate.test.d.ts +0 -17
  271. package/dist/esm5/src/core/user/reload.d.ts +0 -29
  272. package/dist/esm5/src/core/user/reload.test.d.ts +0 -17
  273. package/dist/esm5/src/core/user/token_manager.d.ts +0 -50
  274. package/dist/esm5/src/core/user/token_manager.test.d.ts +0 -17
  275. package/dist/esm5/src/core/user/user_credential_impl.d.ts +0 -37
  276. package/dist/esm5/src/core/user/user_credential_impl.test.d.ts +0 -17
  277. package/dist/esm5/src/core/user/user_impl.d.ts +0 -74
  278. package/dist/esm5/src/core/user/user_impl.test.d.ts +0 -17
  279. package/dist/esm5/src/core/user/user_metadata.d.ts +0 -27
  280. package/dist/esm5/src/core/util/assert.d.ts +0 -94
  281. package/dist/esm5/src/core/util/assert.test.d.ts +0 -17
  282. package/dist/esm5/src/core/util/browser.d.ts +0 -50
  283. package/dist/esm5/src/core/util/browser.test.d.ts +0 -17
  284. package/dist/esm5/src/core/util/delay.d.ts +0 -31
  285. package/dist/esm5/src/core/util/delay.test.d.ts +0 -17
  286. package/dist/esm5/src/core/util/emulator.d.ts +0 -18
  287. package/dist/esm5/src/core/util/emulator.test.d.ts +0 -17
  288. package/dist/esm5/src/core/util/event_id.d.ts +0 -17
  289. package/dist/esm5/src/core/util/event_id.test.d.ts +0 -17
  290. package/dist/esm5/src/core/util/fetch_provider.d.ts +0 -25
  291. package/dist/esm5/src/core/util/handler.d.ts +0 -20
  292. package/dist/esm5/src/core/util/instantiator.d.ts +0 -28
  293. package/dist/esm5/src/core/util/instantiator.test.d.ts +0 -17
  294. package/dist/esm5/src/core/util/location.d.ts +0 -19
  295. package/dist/esm5/src/core/util/log.d.ts +0 -23
  296. package/dist/esm5/src/core/util/navigator.d.ts +0 -21
  297. package/dist/esm5/src/core/util/providers.d.ts +0 -23
  298. package/dist/esm5/src/core/util/resolver.d.ts +0 -25
  299. package/dist/esm5/src/core/util/time.d.ts +0 -17
  300. package/dist/esm5/src/core/util/validate_origin.d.ts +0 -18
  301. package/dist/esm5/src/core/util/validate_origin.test.d.ts +0 -17
  302. package/dist/esm5/src/core/util/version.d.ts +0 -31
  303. package/dist/esm5/src/core/util/version.test.d.ts +0 -17
  304. package/dist/esm5/src/index.d.ts +0 -18
  305. package/dist/esm5/src/mfa/assertions/totp.d.ts +0 -124
  306. package/dist/esm5/src/mfa/assertions/totp.test.d.ts +0 -17
  307. package/dist/esm5/src/mfa/index.d.ts +0 -18
  308. package/dist/esm5/src/mfa/mfa_assertion.d.ts +0 -27
  309. package/dist/esm5/src/mfa/mfa_error.d.ts +0 -35
  310. package/dist/esm5/src/mfa/mfa_info.d.ts +0 -36
  311. package/dist/esm5/src/mfa/mfa_info.test.d.ts +0 -17
  312. package/dist/esm5/src/mfa/mfa_resolver.d.ts +0 -41
  313. package/dist/esm5/src/mfa/mfa_resolver.test.d.ts +0 -17
  314. package/dist/esm5/src/mfa/mfa_session.d.ts +0 -39
  315. package/dist/esm5/src/mfa/mfa_session.test.d.ts +0 -17
  316. package/dist/esm5/src/mfa/mfa_user.d.ts +0 -38
  317. package/dist/esm5/src/mfa/mfa_user.test.d.ts +0 -17
  318. package/dist/esm5/src/model/application_verifier.d.ts +0 -23
  319. package/dist/esm5/src/model/auth.d.ts +0 -87
  320. package/dist/esm5/src/model/enum_maps.d.ts +0 -98
  321. package/dist/esm5/src/model/enums.d.ts +0 -74
  322. package/dist/esm5/src/model/id_token.d.ts +0 -87
  323. package/dist/esm5/src/model/password_policy.d.ts +0 -111
  324. package/dist/esm5/src/model/popup_redirect.d.ts +0 -94
  325. package/dist/esm5/src/model/public_types.d.ts +0 -1285
  326. package/dist/esm5/src/model/user.d.ts +0 -83
  327. package/dist/esm5/src/platform_browser/auth.test.d.ts +0 -17
  328. package/dist/esm5/src/platform_browser/auth_window.d.ts +0 -37
  329. package/dist/esm5/src/platform_browser/iframe/gapi.d.ts +0 -19
  330. package/dist/esm5/src/platform_browser/iframe/gapi.iframes.d.ts +0 -47
  331. package/dist/esm5/src/platform_browser/iframe/gapi.test.d.ts +0 -17
  332. package/dist/esm5/src/platform_browser/iframe/iframe.d.ts +0 -18
  333. package/dist/esm5/src/platform_browser/iframe/iframe.test.d.ts +0 -17
  334. package/dist/esm5/src/platform_browser/index.d.ts +0 -27
  335. package/dist/esm5/src/platform_browser/load_js.d.ts +0 -29
  336. package/dist/esm5/src/platform_browser/load_js.test.d.ts +0 -17
  337. package/dist/esm5/src/platform_browser/messagechannel/index.d.ts +0 -87
  338. package/dist/esm5/src/platform_browser/messagechannel/promise.d.ts +0 -33
  339. package/dist/esm5/src/platform_browser/messagechannel/promise.test.d.ts +0 -17
  340. package/dist/esm5/src/platform_browser/messagechannel/receiver.d.ts +0 -63
  341. package/dist/esm5/src/platform_browser/messagechannel/receiver.test.d.ts +0 -17
  342. package/dist/esm5/src/platform_browser/messagechannel/sender.d.ts +0 -46
  343. package/dist/esm5/src/platform_browser/messagechannel/sender.test.d.ts +0 -17
  344. package/dist/esm5/src/platform_browser/mfa/assertions/phone.d.ts +0 -59
  345. package/dist/esm5/src/platform_browser/mfa/assertions/phone.test.d.ts +0 -17
  346. package/dist/esm5/src/platform_browser/persistence/browser.d.ts +0 -27
  347. package/dist/esm5/src/platform_browser/persistence/browser.test.d.ts +0 -17
  348. package/dist/esm5/src/platform_browser/persistence/indexed_db.d.ts +0 -33
  349. package/dist/esm5/src/platform_browser/persistence/indexed_db.test.d.ts +0 -17
  350. package/dist/esm5/src/platform_browser/persistence/local_storage.d.ts +0 -25
  351. package/dist/esm5/src/platform_browser/persistence/local_storage.test.d.ts +0 -17
  352. package/dist/esm5/src/platform_browser/persistence/session_storage.d.ts +0 -24
  353. package/dist/esm5/src/platform_browser/persistence/session_storage.test.d.ts +0 -17
  354. package/dist/esm5/src/platform_browser/popup_redirect.d.ts +0 -27
  355. package/dist/esm5/src/platform_browser/popup_redirect.test.d.ts +0 -17
  356. package/dist/esm5/src/platform_browser/providers/phone.d.ts +0 -152
  357. package/dist/esm5/src/platform_browser/providers/phone.test.d.ts +0 -17
  358. package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +0 -71
  359. package/dist/esm5/src/platform_browser/recaptcha/recaptcha.test.d.ts +0 -17
  360. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +0 -45
  361. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +0 -17
  362. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_loader.d.ts +0 -49
  363. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_loader.test.d.ts +0 -17
  364. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_mock.d.ts +0 -66
  365. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_mock.test.d.ts +0 -17
  366. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_verifier.d.ts +0 -92
  367. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_verifier.test.d.ts +0 -17
  368. package/dist/esm5/src/platform_browser/strategies/phone.d.ts +0 -112
  369. package/dist/esm5/src/platform_browser/strategies/phone.test.d.ts +0 -17
  370. package/dist/esm5/src/platform_browser/strategies/popup.d.ts +0 -109
  371. package/dist/esm5/src/platform_browser/strategies/popup.test.d.ts +0 -17
  372. package/dist/esm5/src/platform_browser/strategies/redirect.d.ts +0 -176
  373. package/dist/esm5/src/platform_browser/strategies/redirect.test.d.ts +0 -17
  374. package/dist/esm5/src/platform_browser/util/popup.d.ts +0 -24
  375. package/dist/esm5/src/platform_browser/util/popup.test.d.ts +0 -17
  376. package/dist/esm5/src/platform_browser/util/worker.d.ts +0 -20
  377. package/dist/esm5/src/platform_cordova/plugins.d.ts +0 -42
  378. package/dist/esm5/src/platform_cordova/popup_redirect/events.d.ts +0 -39
  379. package/dist/esm5/src/platform_cordova/popup_redirect/events.test.d.ts +0 -17
  380. package/dist/esm5/src/platform_cordova/popup_redirect/popup_redirect.d.ts +0 -24
  381. package/dist/esm5/src/platform_cordova/popup_redirect/popup_redirect.test.d.ts +0 -17
  382. package/dist/esm5/src/platform_cordova/popup_redirect/utils.d.ts +0 -47
  383. package/dist/esm5/src/platform_cordova/popup_redirect/utils.test.d.ts +0 -17
  384. package/dist/esm5/src/platform_cordova/strategies/redirect.d.ts +0 -20
  385. package/dist/esm5/src/platform_node/index.d.ts +0 -50
  386. package/dist/esm5/src/platform_react_native/persistence/react_native.d.ts +0 -25
  387. package/dist/esm5/src/platform_react_native/persistence/react_native.test.d.ts +0 -17
  388. package/dist/esm5/test/helpers/api/helper.d.ts +0 -22
  389. package/dist/esm5/test/helpers/delay.d.ts +0 -20
  390. package/dist/esm5/test/helpers/erroring_unavailable_persistence.d.ts +0 -36
  391. package/dist/esm5/test/helpers/fake_service_worker.d.ts +0 -22
  392. package/dist/esm5/test/helpers/id_token_response.d.ts +0 -18
  393. package/dist/esm5/test/helpers/iframe_event.d.ts +0 -19
  394. package/dist/esm5/test/helpers/integration/emulator_rest_helpers.d.ts +0 -35
  395. package/dist/esm5/test/helpers/integration/helpers.d.ts +0 -32
  396. package/dist/esm5/test/helpers/integration/settings.d.ts +0 -23
  397. package/dist/esm5/test/helpers/jwt.d.ts +0 -17
  398. package/dist/esm5/test/helpers/mock_auth.d.ts +0 -47
  399. package/dist/esm5/test/helpers/mock_auth_credential.d.ts +0 -31
  400. package/dist/esm5/test/helpers/mock_fetch.d.ts +0 -30
  401. package/dist/esm5/test/helpers/mock_fetch.test.d.ts +0 -17
  402. package/dist/esm5/test/helpers/mock_popup_redirect_resolver.d.ts +0 -24
  403. package/dist/esm5/test/helpers/redirect_persistence.d.ts +0 -24
  404. package/dist/esm5/test/helpers/timeout_stub.d.ts +0 -34
  405. package/dist/esm5/test/integration/flows/anonymous.test.d.ts +0 -17
  406. package/dist/esm5/test/integration/flows/custom.local.test.d.ts +0 -17
  407. package/dist/esm5/test/integration/flows/email.test.d.ts +0 -17
  408. package/dist/esm5/test/integration/flows/idp.local.test.d.ts +0 -17
  409. package/dist/esm5/test/integration/flows/middleware_test_generator.d.ts +0 -18
  410. package/dist/esm5/test/integration/flows/oob.local.test.d.ts +0 -17
  411. package/dist/esm5/test/integration/flows/password_policy.test.d.ts +0 -17
  412. package/dist/esm5/test/integration/flows/phone.test.d.ts +0 -17
  413. package/dist/esm5/test/integration/flows/totp.test.d.ts +0 -17
  414. package/dist/esm5/test/integration/webdriver/anonymous.test.d.ts +0 -17
  415. package/dist/esm5/test/integration/webdriver/compat/firebaseui.test.d.ts +0 -17
  416. package/dist/esm5/test/integration/webdriver/persistence.test.d.ts +0 -17
  417. package/dist/esm5/test/integration/webdriver/popup.test.d.ts +0 -17
  418. package/dist/esm5/test/integration/webdriver/redirect.test.d.ts +0 -17
  419. package/dist/esm5/test/integration/webdriver/util/auth_driver.d.ts +0 -46
  420. package/dist/esm5/test/integration/webdriver/util/functions.d.ts +0 -81
  421. package/dist/esm5/test/integration/webdriver/util/idp_page.d.ts +0 -31
  422. package/dist/esm5/test/integration/webdriver/util/js_load_condition.d.ts +0 -25
  423. package/dist/esm5/test/integration/webdriver/util/test_runner.d.ts +0 -19
  424. package/dist/esm5/test/integration/webdriver/util/test_server.d.ts +0 -27
  425. package/dist/esm5/test/integration/webdriver/util/ui_page.d.ts +0 -33
  426. package/dist/index.webworker.esm5.js +0 -9265
  427. package/dist/index.webworker.esm5.js.map +0 -1
  428. package/dist/node/totp-259483a2.js +0 -8762
  429. package/dist/node/totp-259483a2.js.map +0 -1
  430. package/dist/node-esm/totp-219bb96f.js.map +0 -1
  431. package/dist/rn/index-2f66320e.js +0 -9819
  432. package/dist/rn/index-2f66320e.js.map +0 -1
  433. package/dist/web-extension-cjs/register-674a8250.js.map +0 -1
  434. package/dist/web-extension-esm2017/register-428f8789.js.map +0 -1
  435. /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, captchaResp = false) {
3364
+ async function injectRecaptchaFields(auth, request, action, isCaptchaResp = false, isFakeToken = false) {
3189
3365
  const verifier = new RecaptchaEnterpriseVerifier(auth);
3190
3366
  let captchaResponse;
3191
- try {
3192
- captchaResponse = await verifier.verify(action);
3367
+ if (isFakeToken) {
3368
+ captchaResponse = FAKE_TOKEN;
3193
3369
  }
3194
- catch (error) {
3195
- captchaResponse = await verifier.verify(action, true);
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 (!captchaResp) {
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 ((_a = authInstance
3213
- ._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
3214
- const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3215
- return actionMethod(authInstance, requestWithRecaptcha);
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
- return actionMethod(authInstance, request).catch(async (error) => {
3219
- if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}`) {
3220
- console.log(`${actionName} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);
3221
- const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3222
- return actionMethod(authInstance, requestWithRecaptcha);
3223
- }
3224
- else {
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.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
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.7.9";
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 esm5, esm2017, cjs5, etc during the compilation
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-674a8250.js.map
8272
+ //# sourceMappingURL=register-17c71bd5.js.map