@firebase/auth 0.22.0-canary.8c44d5863 → 0.22.0-canary.a57a2b5d4

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 (183) hide show
  1. package/dist/auth-public.d.ts +57 -0
  2. package/dist/auth.d.ts +70 -1
  3. package/dist/browser-cjs/{index-c241bf9e.js → index-28ab0e31.js} +530 -183
  4. package/dist/browser-cjs/index-28ab0e31.js.map +1 -0
  5. package/dist/browser-cjs/index.js +3 -2
  6. package/dist/browser-cjs/index.js.map +1 -1
  7. package/dist/browser-cjs/internal.js +3 -2
  8. package/dist/browser-cjs/internal.js.map +1 -1
  9. package/dist/browser-cjs/src/api/authentication/email_and_password.d.ts +9 -0
  10. package/dist/browser-cjs/src/api/authentication/recaptcha.d.ts +16 -0
  11. package/dist/browser-cjs/src/api/authentication/sign_up.d.ts +4 -0
  12. package/dist/browser-cjs/src/api/errors.d.ts +9 -1
  13. package/dist/browser-cjs/src/api/index.d.ts +15 -1
  14. package/dist/browser-cjs/src/core/auth/auth_impl.d.ts +5 -0
  15. package/dist/browser-cjs/src/core/errors.d.ts +17 -1
  16. package/dist/browser-cjs/src/core/index.d.ts +26 -0
  17. package/dist/browser-cjs/src/model/auth.d.ts +5 -0
  18. package/dist/browser-cjs/src/platform_browser/auth_window.d.ts +2 -2
  19. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  20. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  21. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  22. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  23. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  24. package/dist/browser-cjs/src/platform_browser/strategies/popup.d.ts +1 -1
  25. package/dist/browser-cjs/test/helpers/api/helper.d.ts +2 -0
  26. package/dist/cordova/index.js +2 -2
  27. package/dist/cordova/internal.js +8 -73
  28. package/dist/cordova/internal.js.map +1 -1
  29. package/dist/cordova/{popup_redirect-cb56ad61.js → popup_redirect-8392049d.js} +660 -152
  30. package/dist/cordova/popup_redirect-8392049d.js.map +1 -0
  31. package/dist/cordova/src/api/authentication/email_and_password.d.ts +9 -0
  32. package/dist/cordova/src/api/authentication/recaptcha.d.ts +16 -0
  33. package/dist/cordova/src/api/authentication/sign_up.d.ts +4 -0
  34. package/dist/cordova/src/api/errors.d.ts +9 -1
  35. package/dist/cordova/src/api/index.d.ts +15 -1
  36. package/dist/cordova/src/core/auth/auth_impl.d.ts +5 -0
  37. package/dist/cordova/src/core/errors.d.ts +17 -1
  38. package/dist/cordova/src/core/index.d.ts +26 -0
  39. package/dist/cordova/src/model/auth.d.ts +5 -0
  40. package/dist/cordova/src/platform_browser/auth_window.d.ts +2 -2
  41. package/dist/cordova/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  42. package/dist/cordova/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  43. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  44. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  45. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  46. package/dist/cordova/src/platform_browser/strategies/popup.d.ts +1 -1
  47. package/dist/cordova/test/helpers/api/helper.d.ts +2 -0
  48. package/dist/esm2017/{index-2920ea85.js → index-ad134680.js} +531 -185
  49. package/dist/esm2017/index-ad134680.js.map +1 -0
  50. package/dist/esm2017/index.js +2 -2
  51. package/dist/esm2017/internal.js +3 -3
  52. package/dist/esm2017/src/api/authentication/email_and_password.d.ts +9 -0
  53. package/dist/esm2017/src/api/authentication/recaptcha.d.ts +16 -0
  54. package/dist/esm2017/src/api/authentication/sign_up.d.ts +4 -0
  55. package/dist/esm2017/src/api/errors.d.ts +9 -1
  56. package/dist/esm2017/src/api/index.d.ts +15 -1
  57. package/dist/esm2017/src/core/auth/auth_impl.d.ts +5 -0
  58. package/dist/esm2017/src/core/errors.d.ts +17 -1
  59. package/dist/esm2017/src/core/index.d.ts +26 -0
  60. package/dist/esm2017/src/model/auth.d.ts +5 -0
  61. package/dist/esm2017/src/platform_browser/auth_window.d.ts +2 -2
  62. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  63. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  64. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  65. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  66. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  67. package/dist/esm2017/src/platform_browser/strategies/popup.d.ts +1 -1
  68. package/dist/esm2017/test/helpers/api/helper.d.ts +2 -0
  69. package/dist/esm5/{index-56315f25.js → index-ccc54359.js} +686 -243
  70. package/dist/esm5/index-ccc54359.js.map +1 -0
  71. package/dist/esm5/index.js +1 -1
  72. package/dist/esm5/internal.js +2 -2
  73. package/dist/esm5/src/api/authentication/email_and_password.d.ts +9 -0
  74. package/dist/esm5/src/api/authentication/recaptcha.d.ts +16 -0
  75. package/dist/esm5/src/api/authentication/sign_up.d.ts +4 -0
  76. package/dist/esm5/src/api/errors.d.ts +9 -1
  77. package/dist/esm5/src/api/index.d.ts +15 -1
  78. package/dist/esm5/src/core/auth/auth_impl.d.ts +5 -0
  79. package/dist/esm5/src/core/errors.d.ts +17 -1
  80. package/dist/esm5/src/core/index.d.ts +26 -0
  81. package/dist/esm5/src/model/auth.d.ts +5 -0
  82. package/dist/esm5/src/platform_browser/auth_window.d.ts +2 -2
  83. package/dist/esm5/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  84. package/dist/esm5/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  85. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  86. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  87. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  88. package/dist/esm5/src/platform_browser/strategies/popup.d.ts +1 -1
  89. package/dist/esm5/test/helpers/api/helper.d.ts +2 -0
  90. package/dist/index.webworker.esm5.js +544 -53
  91. package/dist/index.webworker.esm5.js.map +1 -1
  92. package/dist/node/index.js +2 -1
  93. package/dist/node/index.js.map +1 -1
  94. package/dist/node/internal.js +2 -1
  95. package/dist/node/internal.js.map +1 -1
  96. package/dist/node/src/api/authentication/email_and_password.d.ts +9 -0
  97. package/dist/node/src/api/authentication/recaptcha.d.ts +16 -0
  98. package/dist/node/src/api/authentication/sign_up.d.ts +4 -0
  99. package/dist/node/src/api/errors.d.ts +9 -1
  100. package/dist/node/src/api/index.d.ts +15 -1
  101. package/dist/node/src/core/auth/auth_impl.d.ts +5 -0
  102. package/dist/node/src/core/errors.d.ts +17 -1
  103. package/dist/node/src/core/index.d.ts +26 -0
  104. package/dist/node/src/model/auth.d.ts +5 -0
  105. package/dist/node/src/platform_browser/auth_window.d.ts +2 -2
  106. package/dist/node/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  107. package/dist/node/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  108. package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  109. package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  110. package/dist/node/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  111. package/dist/node/src/platform_browser/strategies/popup.d.ts +1 -1
  112. package/dist/node/test/helpers/api/helper.d.ts +2 -0
  113. package/dist/node/{totp-eceebdad.js → totp-5eb860ec.js} +642 -150
  114. package/dist/node/totp-5eb860ec.js.map +1 -0
  115. package/dist/node-esm/index.js +1 -1
  116. package/dist/node-esm/internal.js +2 -2
  117. package/dist/node-esm/src/api/authentication/email_and_password.d.ts +9 -0
  118. package/dist/node-esm/src/api/authentication/recaptcha.d.ts +16 -0
  119. package/dist/node-esm/src/api/authentication/sign_up.d.ts +4 -0
  120. package/dist/node-esm/src/api/errors.d.ts +9 -1
  121. package/dist/node-esm/src/api/index.d.ts +15 -1
  122. package/dist/node-esm/src/core/auth/auth_impl.d.ts +5 -0
  123. package/dist/node-esm/src/core/errors.d.ts +17 -1
  124. package/dist/node-esm/src/core/index.d.ts +26 -0
  125. package/dist/node-esm/src/model/auth.d.ts +5 -0
  126. package/dist/node-esm/src/platform_browser/auth_window.d.ts +2 -2
  127. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  128. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  129. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  130. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  131. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  132. package/dist/node-esm/src/platform_browser/strategies/popup.d.ts +1 -1
  133. package/dist/node-esm/test/helpers/api/helper.d.ts +2 -0
  134. package/dist/node-esm/{totp-f932f9f2.js → totp-9f7cdb1a.js} +514 -120
  135. package/dist/node-esm/totp-9f7cdb1a.js.map +1 -0
  136. package/dist/rn/index.js +2 -1
  137. package/dist/rn/index.js.map +1 -1
  138. package/dist/rn/internal.js +6 -3
  139. package/dist/rn/internal.js.map +1 -1
  140. package/dist/rn/{phone-2293f717.js → phone-95077336.js} +681 -239
  141. package/dist/rn/phone-95077336.js.map +1 -0
  142. package/dist/rn/src/api/authentication/email_and_password.d.ts +9 -0
  143. package/dist/rn/src/api/authentication/recaptcha.d.ts +16 -0
  144. package/dist/rn/src/api/authentication/sign_up.d.ts +4 -0
  145. package/dist/rn/src/api/errors.d.ts +9 -1
  146. package/dist/rn/src/api/index.d.ts +15 -1
  147. package/dist/rn/src/core/auth/auth_impl.d.ts +5 -0
  148. package/dist/rn/src/core/errors.d.ts +17 -1
  149. package/dist/rn/src/core/index.d.ts +26 -0
  150. package/dist/rn/src/model/auth.d.ts +5 -0
  151. package/dist/rn/src/platform_browser/auth_window.d.ts +2 -2
  152. package/dist/rn/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  153. package/dist/rn/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  154. package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  155. package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  156. package/dist/rn/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  157. package/dist/rn/src/platform_browser/strategies/popup.d.ts +1 -1
  158. package/dist/rn/test/helpers/api/helper.d.ts +2 -0
  159. package/dist/src/api/authentication/email_and_password.d.ts +9 -0
  160. package/dist/src/api/authentication/recaptcha.d.ts +16 -0
  161. package/dist/src/api/authentication/sign_up.d.ts +4 -0
  162. package/dist/src/api/errors.d.ts +9 -1
  163. package/dist/src/api/index.d.ts +15 -1
  164. package/dist/src/core/auth/auth_impl.d.ts +5 -0
  165. package/dist/src/core/errors.d.ts +17 -1
  166. package/dist/src/core/index.d.ts +26 -0
  167. package/dist/src/model/auth.d.ts +5 -0
  168. package/dist/src/platform_browser/auth_window.d.ts +2 -2
  169. package/dist/src/platform_browser/recaptcha/recaptcha.d.ts +33 -0
  170. package/dist/src/platform_browser/recaptcha/recaptcha.test.d.ts +17 -0
  171. package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +40 -0
  172. package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.test.d.ts +17 -0
  173. package/dist/src/platform_browser/recaptcha/recaptcha_mock.d.ts +16 -1
  174. package/dist/src/platform_browser/strategies/popup.d.ts +1 -1
  175. package/dist/test/helpers/api/helper.d.ts +2 -0
  176. package/package.json +6 -6
  177. package/dist/browser-cjs/index-c241bf9e.js.map +0 -1
  178. package/dist/cordova/popup_redirect-cb56ad61.js.map +0 -1
  179. package/dist/esm2017/index-2920ea85.js.map +0 -1
  180. package/dist/esm5/index-56315f25.js.map +0 -1
  181. package/dist/node/totp-eceebdad.js.map +0 -1
  182. package/dist/node-esm/totp-f932f9f2.js.map +0 -1
  183. package/dist/rn/phone-2293f717.js.map +0 -1
@@ -588,6 +588,14 @@ export declare const AuthErrorCodes: {
588
588
  readonly WEAK_PASSWORD: "auth/weak-password";
589
589
  readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
590
590
  readonly ALREADY_INITIALIZED: "auth/already-initialized";
591
+ readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
592
+ readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
593
+ readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
594
+ readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
595
+ readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
596
+ readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
597
+ readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
598
+ readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
591
599
  };
592
600
 
593
601
  /**
@@ -1279,6 +1287,11 @@ export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Pr
1279
1287
  */
1280
1288
  export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;
1281
1289
 
1290
+ declare interface GetRecaptchaConfigResponse {
1291
+ recaptchaKey: string;
1292
+ recaptchaEnforcementState: RecaptchaEnforcementState[];
1293
+ }
1294
+
1282
1295
  /**
1283
1296
  * Returns a {@link UserCredential} from the redirect-based sign-in flow.
1284
1297
  *
@@ -1559,6 +1572,33 @@ export declare const indexedDBLocalPersistence: Persistence;
1559
1572
  */
1560
1573
  export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;
1561
1574
 
1575
+ /**
1576
+ * Loads the reCAPTCHA configuration into the `Auth` instance.
1577
+ *
1578
+ * @remarks
1579
+ * This will load the reCAPTCHA config, which indicates whether the reCAPTCHA
1580
+ * verification flow should be triggered for each auth provider, into the
1581
+ * current Auth session.
1582
+ *
1583
+ * If initializeRecaptchaConfig() is not invoked, the auth flow will always start
1584
+ * without reCAPTCHA verification. If the provider is configured to require reCAPTCHA
1585
+ * verification, the SDK will transparently load the reCAPTCHA config and restart the
1586
+ * auth flows.
1587
+ *
1588
+ * Thus, by calling this optional method, you will reduce the latency of future auth flows.
1589
+ * Loading the reCAPTCHA config early will also enhance the signal collected by reCAPTCHA.
1590
+ *
1591
+ * @example
1592
+ * ```javascript
1593
+ * initializeRecaptchaConfig(auth);
1594
+ * ```
1595
+ *
1596
+ * @param auth - The {@link Auth} instance.
1597
+ *
1598
+ * @public
1599
+ */
1600
+ export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
1601
+
1562
1602
  /**
1563
1603
  * An implementation of {@link Persistence} of type 'NONE'.
1564
1604
  *
@@ -2639,6 +2679,23 @@ declare interface Recaptcha {
2639
2679
  reset: (id: number) => unknown;
2640
2680
  }
2641
2681
 
2682
+ declare class RecaptchaConfig {
2683
+ /**
2684
+ * The reCAPTCHA site key.
2685
+ */
2686
+ siteKey: string;
2687
+ /**
2688
+ * The reCAPTCHA enablement status of the {@link EmailAuthProvider} for the current tenant.
2689
+ */
2690
+ emailPasswordEnabled: boolean;
2691
+ constructor(response: GetRecaptchaConfigResponse);
2692
+ }
2693
+
2694
+ declare interface RecaptchaEnforcementState {
2695
+ provider: string;
2696
+ enforcementState: string;
2697
+ }
2698
+
2642
2699
  /* Excluded from this release type: ReCaptchaLoader */
2643
2700
 
2644
2701
  /**
package/dist/auth.d.ts CHANGED
@@ -610,7 +610,15 @@ declare const enum AuthErrorCode {
610
610
  USER_SIGNED_OUT = "user-signed-out",
611
611
  WEAK_PASSWORD = "weak-password",
612
612
  WEB_STORAGE_UNSUPPORTED = "web-storage-unsupported",
613
- ALREADY_INITIALIZED = "already-initialized"
613
+ ALREADY_INITIALIZED = "already-initialized",
614
+ RECAPTCHA_NOT_ENABLED = "recaptcha-not-enabled",
615
+ MISSING_RECAPTCHA_TOKEN = "missing-recaptcha-token",
616
+ INVALID_RECAPTCHA_TOKEN = "invalid-recaptcha-token",
617
+ INVALID_RECAPTCHA_ACTION = "invalid-recaptcha-action",
618
+ MISSING_CLIENT_TYPE = "missing-client-type",
619
+ MISSING_RECAPTCHA_VERSION = "missing-recaptcha-version",
620
+ INVALID_RECAPTCHA_VERSION = "invalid-recaptcha-version",
621
+ INVALID_REQ_TYPE = "invalid-req-type"
614
622
  }
615
623
 
616
624
  /**
@@ -720,6 +728,14 @@ export declare const AuthErrorCodes: {
720
728
  readonly WEAK_PASSWORD: "auth/weak-password";
721
729
  readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
722
730
  readonly ALREADY_INITIALIZED: "auth/already-initialized";
731
+ readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
732
+ readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
733
+ readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
734
+ readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
735
+ readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
736
+ readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
737
+ readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
738
+ readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
723
739
  };
724
740
 
725
741
  /**
@@ -828,6 +844,8 @@ declare const enum AuthEventType {
828
844
  declare interface AuthInternal extends Auth {
829
845
  currentUser: User | null;
830
846
  emulatorConfig: EmulatorConfig | null;
847
+ _agentRecaptchaConfig: RecaptchaConfig | null;
848
+ _tenantRecaptchaConfigs: Record<string, RecaptchaConfig>;
831
849
  _canInitEmulator: boolean;
832
850
  _isInitialized: boolean;
833
851
  _initializationPromise: Promise<void> | null;
@@ -842,6 +860,7 @@ declare interface AuthInternal extends Auth {
842
860
  _startProactiveRefresh(): void;
843
861
  _stopProactiveRefresh(): void;
844
862
  _getPersistence(): string;
863
+ _getRecaptchaConfig(): RecaptchaConfig | null;
845
864
  _logFramework(framework: string): void;
846
865
  _getFrameworks(): readonly string[];
847
866
  _getAdditionalHeaders(): Promise<Record<string, string>>;
@@ -854,6 +873,7 @@ declare interface AuthInternal extends Auth {
854
873
  _errorFactory: ErrorFactory<AuthErrorCode, AuthErrorParams>;
855
874
  useDeviceLanguage(): void;
856
875
  signOut(): Promise<void>;
876
+ initializeRecaptchaConfig(): Promise<void>;
857
877
  }
858
878
 
859
879
  declare class AuthPopup {
@@ -1559,6 +1579,11 @@ export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Pr
1559
1579
  */
1560
1580
  export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;
1561
1581
 
1582
+ declare interface GetRecaptchaConfigResponse {
1583
+ recaptchaKey: string;
1584
+ recaptchaEnforcementState: RecaptchaEnforcementState[];
1585
+ }
1586
+
1562
1587
  /**
1563
1588
  * Returns a {@link UserCredential} from the redirect-based sign-in flow.
1564
1589
  *
@@ -1882,6 +1907,33 @@ export declare const indexedDBLocalPersistence: Persistence;
1882
1907
  */
1883
1908
  export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;
1884
1909
 
1910
+ /**
1911
+ * Loads the reCAPTCHA configuration into the `Auth` instance.
1912
+ *
1913
+ * @remarks
1914
+ * This will load the reCAPTCHA config, which indicates whether the reCAPTCHA
1915
+ * verification flow should be triggered for each auth provider, into the
1916
+ * current Auth session.
1917
+ *
1918
+ * If initializeRecaptchaConfig() is not invoked, the auth flow will always start
1919
+ * without reCAPTCHA verification. If the provider is configured to require reCAPTCHA
1920
+ * verification, the SDK will transparently load the reCAPTCHA config and restart the
1921
+ * auth flows.
1922
+ *
1923
+ * Thus, by calling this optional method, you will reduce the latency of future auth flows.
1924
+ * Loading the reCAPTCHA config early will also enhance the signal collected by reCAPTCHA.
1925
+ *
1926
+ * @example
1927
+ * ```javascript
1928
+ * initializeRecaptchaConfig(auth);
1929
+ * ```
1930
+ *
1931
+ * @param auth - The {@link Auth} instance.
1932
+ *
1933
+ * @public
1934
+ */
1935
+ export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
1936
+
1885
1937
  /**
1886
1938
  * An implementation of {@link Persistence} of type 'NONE'.
1887
1939
  *
@@ -3030,6 +3082,23 @@ declare interface Recaptcha {
3030
3082
  reset: (id: number) => unknown;
3031
3083
  }
3032
3084
 
3085
+ declare class RecaptchaConfig {
3086
+ /**
3087
+ * The reCAPTCHA site key.
3088
+ */
3089
+ siteKey: string;
3090
+ /**
3091
+ * The reCAPTCHA enablement status of the {@link EmailAuthProvider} for the current tenant.
3092
+ */
3093
+ emailPasswordEnabled: boolean;
3094
+ constructor(response: GetRecaptchaConfigResponse);
3095
+ }
3096
+
3097
+ declare interface RecaptchaEnforcementState {
3098
+ provider: string;
3099
+ enforcementState: string;
3100
+ }
3101
+
3033
3102
  /**
3034
3103
  * We need to mark this interface as internal explicitly to exclude it in the public typings, because
3035
3104
  * it references AuthInternal which has a circular dependency with UserInternal.