@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
@@ -991,6 +991,16 @@ class RecaptchaConfig {
991
991
  "ENFORCE" /* EnforcementState.ENFORCE */ ||
992
992
  this.getProviderEnforcementState(providerStr) === "AUDIT" /* EnforcementState.AUDIT */);
993
993
  }
994
+ /**
995
+ * Returns true if reCAPTCHA Enterprise protection is enabled in at least one provider, otherwise
996
+ * returns false.
997
+ *
998
+ * @returns Whether or not reCAPTCHA Enterprise protection is enabled for at least one provider.
999
+ */
1000
+ isAnyProviderEnabled() {
1001
+ return (this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */) ||
1002
+ this.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */));
1003
+ }
994
1004
  }
995
1005
 
996
1006
  /**
@@ -3078,6 +3088,167 @@ function _generateCallbackName(prefix) {
3078
3088
  return `__${prefix}${Math.floor(Math.random() * 1000000)}`;
3079
3089
  }
3080
3090
 
3091
+ /**
3092
+ * @license
3093
+ * Copyright 2020 Google LLC
3094
+ *
3095
+ * Licensed under the Apache License, Version 2.0 (the "License");
3096
+ * you may not use this file except in compliance with the License.
3097
+ * You may obtain a copy of the License at
3098
+ *
3099
+ * http://www.apache.org/licenses/LICENSE-2.0
3100
+ *
3101
+ * Unless required by applicable law or agreed to in writing, software
3102
+ * distributed under the License is distributed on an "AS IS" BASIS,
3103
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3104
+ * See the License for the specific language governing permissions and
3105
+ * limitations under the License.
3106
+ */
3107
+ const _SOLVE_TIME_MS = 500;
3108
+ const _EXPIRATION_TIME_MS = 60000;
3109
+ const _WIDGET_ID_START = 1000000000000;
3110
+ class MockReCaptcha {
3111
+ constructor(auth) {
3112
+ this.auth = auth;
3113
+ this.counter = _WIDGET_ID_START;
3114
+ this._widgets = new Map();
3115
+ }
3116
+ render(container, parameters) {
3117
+ const id = this.counter;
3118
+ this._widgets.set(id, new MockWidget(container, this.auth.name, parameters || {}));
3119
+ this.counter++;
3120
+ return id;
3121
+ }
3122
+ reset(optWidgetId) {
3123
+ var _a;
3124
+ const id = optWidgetId || _WIDGET_ID_START;
3125
+ void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.delete());
3126
+ this._widgets.delete(id);
3127
+ }
3128
+ getResponse(optWidgetId) {
3129
+ var _a;
3130
+ const id = optWidgetId || _WIDGET_ID_START;
3131
+ return ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.getResponse()) || '';
3132
+ }
3133
+ async execute(optWidgetId) {
3134
+ var _a;
3135
+ const id = optWidgetId || _WIDGET_ID_START;
3136
+ void ((_a = this._widgets.get(id)) === null || _a === void 0 ? void 0 : _a.execute());
3137
+ return '';
3138
+ }
3139
+ }
3140
+ class MockGreCAPTCHATopLevel {
3141
+ constructor() {
3142
+ this.enterprise = new MockGreCAPTCHA();
3143
+ }
3144
+ ready(callback) {
3145
+ callback();
3146
+ }
3147
+ execute(
3148
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3149
+ _siteKey, _options) {
3150
+ return Promise.resolve('token');
3151
+ }
3152
+ render(
3153
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3154
+ _container, _parameters) {
3155
+ return '';
3156
+ }
3157
+ }
3158
+ class MockGreCAPTCHA {
3159
+ ready(callback) {
3160
+ callback();
3161
+ }
3162
+ execute(
3163
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3164
+ _siteKey, _options) {
3165
+ return Promise.resolve('token');
3166
+ }
3167
+ render(
3168
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3169
+ _container, _parameters) {
3170
+ return '';
3171
+ }
3172
+ }
3173
+ class MockWidget {
3174
+ constructor(containerOrId, appName, params) {
3175
+ this.params = params;
3176
+ this.timerId = null;
3177
+ this.deleted = false;
3178
+ this.responseToken = null;
3179
+ this.clickHandler = () => {
3180
+ this.execute();
3181
+ };
3182
+ const container = typeof containerOrId === 'string'
3183
+ ? document.getElementById(containerOrId)
3184
+ : containerOrId;
3185
+ _assert(container, "argument-error" /* AuthErrorCode.ARGUMENT_ERROR */, { appName });
3186
+ this.container = container;
3187
+ this.isVisible = this.params.size !== 'invisible';
3188
+ if (this.isVisible) {
3189
+ this.execute();
3190
+ }
3191
+ else {
3192
+ this.container.addEventListener('click', this.clickHandler);
3193
+ }
3194
+ }
3195
+ getResponse() {
3196
+ this.checkIfDeleted();
3197
+ return this.responseToken;
3198
+ }
3199
+ delete() {
3200
+ this.checkIfDeleted();
3201
+ this.deleted = true;
3202
+ if (this.timerId) {
3203
+ clearTimeout(this.timerId);
3204
+ this.timerId = null;
3205
+ }
3206
+ this.container.removeEventListener('click', this.clickHandler);
3207
+ }
3208
+ execute() {
3209
+ this.checkIfDeleted();
3210
+ if (this.timerId) {
3211
+ return;
3212
+ }
3213
+ this.timerId = window.setTimeout(() => {
3214
+ this.responseToken = generateRandomAlphaNumericString(50);
3215
+ const { callback, 'expired-callback': expiredCallback } = this.params;
3216
+ if (callback) {
3217
+ try {
3218
+ callback(this.responseToken);
3219
+ }
3220
+ catch (e) { }
3221
+ }
3222
+ this.timerId = window.setTimeout(() => {
3223
+ this.timerId = null;
3224
+ this.responseToken = null;
3225
+ if (expiredCallback) {
3226
+ try {
3227
+ expiredCallback();
3228
+ }
3229
+ catch (e) { }
3230
+ }
3231
+ if (this.isVisible) {
3232
+ this.execute();
3233
+ }
3234
+ }, _EXPIRATION_TIME_MS);
3235
+ }, _SOLVE_TIME_MS);
3236
+ }
3237
+ checkIfDeleted() {
3238
+ if (this.deleted) {
3239
+ throw new Error('reCAPTCHA mock was already deleted!');
3240
+ }
3241
+ }
3242
+ }
3243
+ function generateRandomAlphaNumericString(len) {
3244
+ const chars = [];
3245
+ const allowedChars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
3246
+ for (let i = 0; i < len; i++) {
3247
+ chars.push(allowedChars.charAt(Math.floor(Math.random() * allowedChars.length)));
3248
+ }
3249
+ return chars.join('');
3250
+ }
3251
+
3081
3252
  /* eslint-disable @typescript-eslint/no-require-imports */
3082
3253
  const RECAPTCHA_ENTERPRISE_VERIFIER_TYPE = 'recaptcha-enterprise';
3083
3254
  const FAKE_TOKEN = 'NO_RECAPTCHA';
@@ -3153,6 +3324,11 @@ class RecaptchaEnterpriseVerifier {
3153
3324
  reject(Error('No reCAPTCHA enterprise script loaded.'));
3154
3325
  }
3155
3326
  }
3327
+ // Returns Promise for a mock token when appVerificationDisabledForTesting is true.
3328
+ if (this.auth.settings.appVerificationDisabledForTesting) {
3329
+ const mockRecaptcha = new MockGreCAPTCHATopLevel();
3330
+ return mockRecaptcha.execute('siteKey', { action: 'verify' });
3331
+ }
3156
3332
  return new Promise((resolve, reject) => {
3157
3333
  retrieveSiteKey(this.auth)
3158
3334
  .then(siteKey => {
@@ -3183,17 +3359,50 @@ class RecaptchaEnterpriseVerifier {
3183
3359
  });
3184
3360
  }
3185
3361
  }
3186
- async function injectRecaptchaFields(auth, request, action, captchaResp = false) {
3362
+ async function injectRecaptchaFields(auth, request, action, isCaptchaResp = false, isFakeToken = false) {
3187
3363
  const verifier = new RecaptchaEnterpriseVerifier(auth);
3188
3364
  let captchaResponse;
3189
- try {
3190
- captchaResponse = await verifier.verify(action);
3365
+ if (isFakeToken) {
3366
+ captchaResponse = FAKE_TOKEN;
3191
3367
  }
3192
- catch (error) {
3193
- captchaResponse = await verifier.verify(action, true);
3368
+ else {
3369
+ try {
3370
+ captchaResponse = await verifier.verify(action);
3371
+ }
3372
+ catch (error) {
3373
+ captchaResponse = await verifier.verify(action, true);
3374
+ }
3194
3375
  }
3195
3376
  const newRequest = Object.assign({}, request);
3196
- if (!captchaResp) {
3377
+ if (action === "mfaSmsEnrollment" /* RecaptchaActionName.MFA_SMS_ENROLLMENT */ ||
3378
+ action === "mfaSmsSignIn" /* RecaptchaActionName.MFA_SMS_SIGNIN */) {
3379
+ if ('phoneEnrollmentInfo' in newRequest) {
3380
+ const phoneNumber = newRequest.phoneEnrollmentInfo.phoneNumber;
3381
+ const recaptchaToken = newRequest.phoneEnrollmentInfo.recaptchaToken;
3382
+ Object.assign(newRequest, {
3383
+ 'phoneEnrollmentInfo': {
3384
+ phoneNumber,
3385
+ recaptchaToken,
3386
+ captchaResponse,
3387
+ 'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
3388
+ 'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
3389
+ }
3390
+ });
3391
+ }
3392
+ else if ('phoneSignInInfo' in newRequest) {
3393
+ const recaptchaToken = newRequest.phoneSignInInfo.recaptchaToken;
3394
+ Object.assign(newRequest, {
3395
+ 'phoneSignInInfo': {
3396
+ recaptchaToken,
3397
+ captchaResponse,
3398
+ 'clientType': "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */,
3399
+ 'recaptchaVersion': "RECAPTCHA_ENTERPRISE" /* RecaptchaVersion.ENTERPRISE */
3400
+ }
3401
+ });
3402
+ }
3403
+ return newRequest;
3404
+ }
3405
+ if (!isCaptchaResp) {
3197
3406
  Object.assign(newRequest, { captchaResponse });
3198
3407
  }
3199
3408
  else {
@@ -3205,24 +3414,64 @@ async function injectRecaptchaFields(auth, request, action, captchaResp = false)
3205
3414
  });
3206
3415
  return newRequest;
3207
3416
  }
3208
- async function handleRecaptchaFlow(authInstance, request, actionName, actionMethod) {
3209
- var _a;
3210
- if ((_a = authInstance
3211
- ._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
3212
- const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3213
- return actionMethod(authInstance, requestWithRecaptcha);
3417
+ async function handleRecaptchaFlow(authInstance, request, actionName, actionMethod, recaptchaAuthProvider) {
3418
+ var _a, _b;
3419
+ if (recaptchaAuthProvider === "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */) {
3420
+ if ((_a = authInstance
3421
+ ._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */)) {
3422
+ const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3423
+ return actionMethod(authInstance, requestWithRecaptcha);
3424
+ }
3425
+ else {
3426
+ return actionMethod(authInstance, request).catch(async (error) => {
3427
+ if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}`) {
3428
+ console.log(`${actionName} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);
3429
+ const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3430
+ return actionMethod(authInstance, requestWithRecaptcha);
3431
+ }
3432
+ else {
3433
+ return Promise.reject(error);
3434
+ }
3435
+ });
3436
+ }
3214
3437
  }
3215
- else {
3216
- return actionMethod(authInstance, request).catch(async (error) => {
3217
- if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}`) {
3218
- console.log(`${actionName} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);
3219
- const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName, actionName === "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */);
3220
- return actionMethod(authInstance, requestWithRecaptcha);
3221
- }
3222
- else {
3438
+ else if (recaptchaAuthProvider === "PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */) {
3439
+ if ((_b = authInstance
3440
+ ._getRecaptchaConfig()) === null || _b === void 0 ? void 0 : _b.isProviderEnabled("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) {
3441
+ const requestWithRecaptcha = await injectRecaptchaFields(authInstance, request, actionName);
3442
+ return actionMethod(authInstance, requestWithRecaptcha).catch(async (error) => {
3443
+ var _a;
3444
+ if (((_a = authInstance
3445
+ ._getRecaptchaConfig()) === null || _a === void 0 ? void 0 : _a.getProviderEnforcementState("PHONE_PROVIDER" /* RecaptchaAuthProvider.PHONE_PROVIDER */)) === "AUDIT" /* EnforcementState.AUDIT */) {
3446
+ // AUDIT mode
3447
+ if (error.code === `auth/${"missing-recaptcha-token" /* AuthErrorCode.MISSING_RECAPTCHA_TOKEN */}` ||
3448
+ error.code === `auth/${"invalid-app-credential" /* AuthErrorCode.INVALID_APP_CREDENTIAL */}`) {
3449
+ console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${actionName} flow.`);
3450
+ // reCAPTCHA Enterprise token is missing or reCAPTCHA Enterprise token
3451
+ // check fails.
3452
+ // Fallback to reCAPTCHA v2 flow.
3453
+ const requestWithRecaptchaFields = await injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
3454
+ true // isFakeToken
3455
+ );
3456
+ // This will call the PhoneApiCaller to fetch and inject reCAPTCHA v2 token.
3457
+ return actionMethod(authInstance, requestWithRecaptchaFields);
3458
+ }
3459
+ }
3460
+ // ENFORCE mode or AUDIT mode with any other error.
3223
3461
  return Promise.reject(error);
3224
- }
3225
- });
3462
+ });
3463
+ }
3464
+ else {
3465
+ // Do reCAPTCHA v2 flow.
3466
+ const requestWithRecaptchaFields = await injectRecaptchaFields(authInstance, request, actionName, false, // isCaptchaResp
3467
+ true // isFakeToken
3468
+ );
3469
+ // This will call the PhoneApiCaller to fetch and inject v2 token.
3470
+ return actionMethod(authInstance, requestWithRecaptchaFields);
3471
+ }
3472
+ }
3473
+ else {
3474
+ return Promise.reject(recaptchaAuthProvider + ' provider is not supported.');
3226
3475
  }
3227
3476
  }
3228
3477
  async function _initializeRecaptchaConfig(auth) {
@@ -3238,7 +3487,7 @@ async function _initializeRecaptchaConfig(auth) {
3238
3487
  else {
3239
3488
  authInternal._tenantRecaptchaConfigs[authInternal.tenantId] = config;
3240
3489
  }
3241
- if (config.isProviderEnabled("EMAIL_PASSWORD_PROVIDER" /* RecaptchaProvider.EMAIL_PASSWORD_PROVIDER */)) {
3490
+ if (config.isAnyProviderEnabled()) {
3242
3491
  const verifier = new RecaptchaEnterpriseVerifier(authInternal);
3243
3492
  void verifier.verify();
3244
3493
  }
@@ -3664,7 +3913,7 @@ class EmailAuthCredential extends AuthCredential {
3664
3913
  password: this._password,
3665
3914
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
3666
3915
  };
3667
- return handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword);
3916
+ return handleRecaptchaFlow(auth, request, "signInWithPassword" /* RecaptchaActionName.SIGN_IN_WITH_PASSWORD */, signInWithPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
3668
3917
  case "emailLink" /* SignInMethod.EMAIL_LINK */:
3669
3918
  return signInWithEmailLink$1(auth, {
3670
3919
  email: this._email,
@@ -3685,7 +3934,7 @@ class EmailAuthCredential extends AuthCredential {
3685
3934
  password: this._password,
3686
3935
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
3687
3936
  };
3688
- return handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword);
3937
+ return handleRecaptchaFlow(auth, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, linkEmailPassword, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
3689
3938
  case "emailLink" /* SignInMethod.EMAIL_LINK */:
3690
3939
  return signInWithEmailLinkForLinking(auth, {
3691
3940
  idToken,
@@ -5680,7 +5929,7 @@ async function sendPasswordResetEmail(auth, email, actionCodeSettings) {
5680
5929
  if (actionCodeSettings) {
5681
5930
  _setActionCodeSettingsOnRequest(authInternal, request, actionCodeSettings);
5682
5931
  }
5683
- await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1);
5932
+ await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendPasswordResetEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
5684
5933
  }
5685
5934
  /**
5686
5935
  * Completes the password reset process, given a confirmation code and new password.
@@ -5813,7 +6062,7 @@ async function createUserWithEmailAndPassword(auth, email, password) {
5813
6062
  password,
5814
6063
  clientType: "CLIENT_TYPE_WEB" /* RecaptchaClientType.WEB */
5815
6064
  };
5816
- const signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp);
6065
+ const signUpResponse = handleRecaptchaFlow(authInternal, request, "signUpPassword" /* RecaptchaActionName.SIGN_UP_PASSWORD */, signUp, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
5817
6066
  const response = await signUpResponse.catch(error => {
5818
6067
  if (error.code === `auth/${"password-does-not-meet-requirements" /* AuthErrorCode.PASSWORD_DOES_NOT_MEET_REQUIREMENTS */}`) {
5819
6068
  void recachePasswordPolicy(auth);
@@ -5927,7 +6176,7 @@ async function sendSignInLinkToEmail(auth, email, actionCodeSettings) {
5927
6176
  }
5928
6177
  }
5929
6178
  setActionCodeSettings(request, actionCodeSettings);
5930
- await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1);
6179
+ await handleRecaptchaFlow(authInternal, request, "getOobCode" /* RecaptchaActionName.GET_OOB_CODE */, sendSignInLinkToEmail$1, "EMAIL_PASSWORD_PROVIDER" /* RecaptchaAuthProvider.EMAIL_PASSWORD_PROVIDER */);
5931
6180
  }
5932
6181
  /**
5933
6182
  * Checks if an incoming link is a sign-in with email link suitable for {@link signInWithEmailLink}.
@@ -7753,7 +8002,7 @@ function _isEmptyString(input) {
7753
8002
  }
7754
8003
 
7755
8004
  var name = "@firebase/auth";
7756
- var version = "1.7.9";
8005
+ var version = "1.8.0";
7757
8006
 
7758
8007
  /**
7759
8008
  * @license
@@ -7895,9 +8144,9 @@ function registerAuth(clientPlatform) {
7895
8144
  return (auth => new AuthInterop(auth))(auth);
7896
8145
  }, "PRIVATE" /* ComponentType.PRIVATE */).setInstantiationMode("EXPLICIT" /* InstantiationMode.EXPLICIT */));
7897
8146
  registerVersion(name, version, getVersionForPlatform(clientPlatform));
7898
- // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
8147
+ // BUILD_TARGET will be replaced by values like esm2017, cjs2017, etc during the compilation
7899
8148
  registerVersion(name, version, 'esm2017');
7900
8149
  }
7901
8150
 
7902
- export { updateEmail as $, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as A, linkWithCredential as B, reauthenticateWithCredential as C, signInWithCustomToken as D, EmailAuthCredential as E, FacebookAuthProvider as F, GoogleAuthProvider as G, sendPasswordResetEmail as H, confirmPasswordReset as I, applyActionCode as J, checkActionCode as K, verifyPasswordResetCode as L, createUserWithEmailAndPassword as M, signInWithEmailAndPassword as N, OAuthCredential as O, PhoneAuthCredential as P, sendSignInLinkToEmail as Q, isSignInWithEmailLink as R, SAMLAuthProvider as S, TotpMultiFactorGenerator as T, signInWithEmailLink as U, fetchSignInMethodsForEmail as V, sendEmailVerification as W, verifyBeforeUpdateEmail as X, ActionCodeURL as Y, parseActionCodeURL as Z, updateProfile as _, indexedDBLocalPersistence as a, updatePassword as a0, getIdToken as a1, getIdTokenResult as a2, unlink as a3, getAdditionalUserInfo as a4, reload as a5, getMultiFactorResolver as a6, multiFactor as a7, STORAGE_AVAILABLE_KEY as a8, _isMobileBrowser as a9, _generateEventId as aA, FederatedAuthProvider as aB, _persistenceKeyName as aC, _performApiRequest as aD, _getCurrentUrl as aE, _gapiScriptUrl as aF, _emulatorUrl as aG, _isChromeIOS as aH, _isFirefox as aI, _isIOSStandalone as aJ, BaseOAuthProvider as aK, _setWindowLocation as aL, _isSafari as aM, _isIOS as aN, MultiFactorAssertionImpl as aO, finalizeEnrollPhoneMfa as aP, finalizeSignInPhoneMfa as aQ, _setExternalJSProvider as aR, _isAndroid as aS, _isIOS7Or8 as aT, UserImpl as aU, AuthImpl as aV, _getClientVersion as aW, FetchProvider as aX, SAMLAuthCredential as aY, _isIE10 as aa, _assert as ab, Delay as ac, _window as ad, isV2 as ae, _createError as af, _recaptchaV2ScriptUrl as ag, _loadJS as ah, _generateCallbackName as ai, _castAuth as aj, _isHttpOrHttps as ak, _isWorker as al, getRecaptchaParams as am, _serverAppCurrentUserOperationNotSupportedError as an, _assertLinkedStatus as ao, startEnrollPhoneMfa as ap, startSignInPhoneMfa as aq, sendPhoneVerificationCode as ar, _link as as, _getInstance as at, _signInWithCredential as au, _reauthenticate as av, signInWithIdp as aw, _fail as ax, debugAssert as ay, _assertInstanceOf as az, TotpSecret as b, connectAuthEmulator as c, initializeRecaptchaConfig as d, beforeAuthStateChanged as e, onAuthStateChanged as f, updateCurrentUser as g, signOut as h, initializeAuth as i, revokeAccessToken as j, deleteUser as k, debugErrorMap as l, AuthCredential as m, inMemoryPersistence as n, onIdTokenChanged as o, prodErrorMap as p, EmailAuthProvider as q, registerAuth as r, setPersistence as s, GithubAuthProvider as t, useDeviceLanguage as u, validatePassword as v, OAuthProvider as w, TwitterAuthProvider as x, signInAnonymously as y, signInWithCredential as z };
7903
- //# sourceMappingURL=register-428f8789.js.map
8151
+ export { updateEmail as $, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as A, linkWithCredential as B, reauthenticateWithCredential as C, signInWithCustomToken as D, EmailAuthCredential as E, FacebookAuthProvider as F, GoogleAuthProvider as G, sendPasswordResetEmail as H, confirmPasswordReset as I, applyActionCode as J, checkActionCode as K, verifyPasswordResetCode as L, createUserWithEmailAndPassword as M, signInWithEmailAndPassword as N, OAuthCredential as O, PhoneAuthCredential as P, sendSignInLinkToEmail as Q, isSignInWithEmailLink as R, SAMLAuthProvider as S, TotpMultiFactorGenerator as T, signInWithEmailLink as U, fetchSignInMethodsForEmail as V, sendEmailVerification as W, verifyBeforeUpdateEmail as X, ActionCodeURL as Y, parseActionCodeURL as Z, updateProfile as _, indexedDBLocalPersistence as a, FetchProvider as a$, updatePassword as a0, getIdToken as a1, getIdTokenResult as a2, unlink as a3, getAdditionalUserInfo as a4, reload as a5, getMultiFactorResolver as a6, multiFactor as a7, STORAGE_AVAILABLE_KEY as a8, _isMobileBrowser as a9, signInWithIdp as aA, _fail as aB, debugAssert as aC, _assertInstanceOf as aD, _generateEventId as aE, FederatedAuthProvider as aF, _persistenceKeyName as aG, _performApiRequest as aH, _getCurrentUrl as aI, _gapiScriptUrl as aJ, _emulatorUrl as aK, _isChromeIOS as aL, _isFirefox as aM, _isIOSStandalone as aN, BaseOAuthProvider as aO, _setWindowLocation as aP, _isSafari as aQ, _isIOS as aR, MultiFactorAssertionImpl as aS, finalizeEnrollPhoneMfa as aT, finalizeSignInPhoneMfa as aU, _setExternalJSProvider as aV, _isAndroid as aW, _isIOS7Or8 as aX, UserImpl as aY, AuthImpl as aZ, _getClientVersion as a_, _isIE10 as aa, Delay as ab, _window as ac, _assert as ad, isV2 as ae, _createError as af, _recaptchaV2ScriptUrl as ag, _loadJS as ah, MockReCaptcha as ai, _generateCallbackName as aj, _castAuth as ak, _isHttpOrHttps as al, _isWorker as am, getRecaptchaParams as an, _serverAppCurrentUserOperationNotSupportedError as ao, _assertLinkedStatus as ap, _initializeRecaptchaConfig as aq, FAKE_TOKEN as ar, startEnrollPhoneMfa as as, handleRecaptchaFlow as at, startSignInPhoneMfa as au, sendPhoneVerificationCode as av, _link as aw, _getInstance as ax, _signInWithCredential as ay, _reauthenticate as az, TotpSecret as b, SAMLAuthCredential as b0, connectAuthEmulator as c, initializeRecaptchaConfig as d, beforeAuthStateChanged as e, onAuthStateChanged as f, updateCurrentUser as g, signOut as h, initializeAuth as i, revokeAccessToken as j, deleteUser as k, debugErrorMap as l, AuthCredential as m, inMemoryPersistence as n, onIdTokenChanged as o, prodErrorMap as p, EmailAuthProvider as q, registerAuth as r, setPersistence as s, GithubAuthProvider as t, useDeviceLanguage as u, validatePassword as v, OAuthProvider as w, TwitterAuthProvider as x, signInAnonymously as y, signInWithCredential as z };
8152
+ //# sourceMappingURL=register-77f1d56a.js.map