@firebase/auth 1.1.0-canary.e037eeed6 → 1.1.0-canary.f497a400a

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 (175) hide show
  1. package/README.md +28 -1
  2. package/dist/auth-public.d.ts +119 -0
  3. package/dist/auth.d.ts +179 -2
  4. package/dist/browser-cjs/{index-1a2a2779.js → index-316b8221.js} +548 -274
  5. package/dist/browser-cjs/index-316b8221.js.map +1 -0
  6. package/dist/browser-cjs/index.js +3 -2
  7. package/dist/browser-cjs/index.js.map +1 -1
  8. package/dist/browser-cjs/internal.js +3 -2
  9. package/dist/browser-cjs/internal.js.map +1 -1
  10. package/dist/browser-cjs/src/api/errors.d.ts +2 -1
  11. package/dist/browser-cjs/src/api/index.d.ts +2 -1
  12. package/dist/browser-cjs/src/api/password_policy/get_password_policy.d.ts +48 -0
  13. package/dist/browser-cjs/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  14. package/dist/browser-cjs/src/core/auth/auth_impl.d.ts +8 -2
  15. package/dist/browser-cjs/src/core/auth/password_policy_impl.d.ts +59 -0
  16. package/dist/browser-cjs/src/core/auth/password_policy_impl.test.d.ts +17 -0
  17. package/dist/browser-cjs/src/core/errors.d.ts +3 -1
  18. package/dist/browser-cjs/src/core/index.d.ts +25 -1
  19. package/dist/browser-cjs/src/model/auth.d.ts +7 -2
  20. package/dist/browser-cjs/src/model/password_policy.d.ts +111 -0
  21. package/dist/browser-cjs/src/model/public_types.d.ts +88 -0
  22. package/dist/browser-cjs/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  23. package/dist/browser-cjs/src/platform_node/index.d.ts +1 -0
  24. package/dist/browser-cjs/test/helpers/integration/helpers.d.ts +6 -0
  25. package/dist/browser-cjs/test/integration/flows/password_policy.test.d.ts +17 -0
  26. package/dist/cordova/index.js +2 -2
  27. package/dist/cordova/internal.js +2 -2
  28. package/dist/cordova/{popup_redirect-8599967b.js → popup_redirect-2410e07a.js} +737 -413
  29. package/dist/cordova/popup_redirect-2410e07a.js.map +1 -0
  30. package/dist/cordova/src/api/errors.d.ts +2 -1
  31. package/dist/cordova/src/api/index.d.ts +2 -1
  32. package/dist/cordova/src/api/password_policy/get_password_policy.d.ts +48 -0
  33. package/dist/cordova/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  34. package/dist/cordova/src/core/auth/auth_impl.d.ts +8 -2
  35. package/dist/cordova/src/core/auth/password_policy_impl.d.ts +59 -0
  36. package/dist/cordova/src/core/auth/password_policy_impl.test.d.ts +17 -0
  37. package/dist/cordova/src/core/errors.d.ts +3 -1
  38. package/dist/cordova/src/core/index.d.ts +25 -1
  39. package/dist/cordova/src/model/auth.d.ts +7 -2
  40. package/dist/cordova/src/model/password_policy.d.ts +111 -0
  41. package/dist/cordova/src/model/public_types.d.ts +88 -0
  42. package/dist/cordova/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  43. package/dist/cordova/src/platform_node/index.d.ts +1 -0
  44. package/dist/cordova/test/helpers/integration/helpers.d.ts +6 -0
  45. package/dist/cordova/test/integration/flows/password_policy.test.d.ts +17 -0
  46. package/dist/esm2017/{index-f8a66098.js → index-9be3d514.js} +548 -275
  47. package/dist/esm2017/index-9be3d514.js.map +1 -0
  48. package/dist/esm2017/index.js +2 -2
  49. package/dist/esm2017/internal.js +3 -3
  50. package/dist/esm2017/src/api/errors.d.ts +2 -1
  51. package/dist/esm2017/src/api/index.d.ts +2 -1
  52. package/dist/esm2017/src/api/password_policy/get_password_policy.d.ts +48 -0
  53. package/dist/esm2017/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  54. package/dist/esm2017/src/core/auth/auth_impl.d.ts +8 -2
  55. package/dist/esm2017/src/core/auth/password_policy_impl.d.ts +59 -0
  56. package/dist/esm2017/src/core/auth/password_policy_impl.test.d.ts +17 -0
  57. package/dist/esm2017/src/core/errors.d.ts +3 -1
  58. package/dist/esm2017/src/core/index.d.ts +25 -1
  59. package/dist/esm2017/src/model/auth.d.ts +7 -2
  60. package/dist/esm2017/src/model/password_policy.d.ts +111 -0
  61. package/dist/esm2017/src/model/public_types.d.ts +88 -0
  62. package/dist/esm2017/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  63. package/dist/esm2017/src/platform_node/index.d.ts +1 -0
  64. package/dist/esm2017/test/helpers/integration/helpers.d.ts +6 -0
  65. package/dist/esm2017/test/integration/flows/password_policy.test.d.ts +17 -0
  66. package/dist/esm5/{index-fdb9efbb.js → index-4ab2fcdf.js} +737 -413
  67. package/dist/esm5/index-4ab2fcdf.js.map +1 -0
  68. package/dist/esm5/index.js +1 -1
  69. package/dist/esm5/internal.js +2 -2
  70. package/dist/esm5/src/api/errors.d.ts +2 -1
  71. package/dist/esm5/src/api/index.d.ts +2 -1
  72. package/dist/esm5/src/api/password_policy/get_password_policy.d.ts +48 -0
  73. package/dist/esm5/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  74. package/dist/esm5/src/core/auth/auth_impl.d.ts +8 -2
  75. package/dist/esm5/src/core/auth/password_policy_impl.d.ts +59 -0
  76. package/dist/esm5/src/core/auth/password_policy_impl.test.d.ts +17 -0
  77. package/dist/esm5/src/core/errors.d.ts +3 -1
  78. package/dist/esm5/src/core/index.d.ts +25 -1
  79. package/dist/esm5/src/model/auth.d.ts +7 -2
  80. package/dist/esm5/src/model/password_policy.d.ts +111 -0
  81. package/dist/esm5/src/model/public_types.d.ts +88 -0
  82. package/dist/esm5/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  83. package/dist/esm5/src/platform_node/index.d.ts +1 -0
  84. package/dist/esm5/test/helpers/integration/helpers.d.ts +6 -0
  85. package/dist/esm5/test/integration/flows/password_policy.test.d.ts +17 -0
  86. package/dist/index.webworker.esm5.js +811 -487
  87. package/dist/index.webworker.esm5.js.map +1 -1
  88. package/dist/node/index.js +2 -1
  89. package/dist/node/index.js.map +1 -1
  90. package/dist/node/internal.js +2 -1
  91. package/dist/node/internal.js.map +1 -1
  92. package/dist/node/src/api/errors.d.ts +2 -1
  93. package/dist/node/src/api/index.d.ts +2 -1
  94. package/dist/node/src/api/password_policy/get_password_policy.d.ts +48 -0
  95. package/dist/node/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  96. package/dist/node/src/core/auth/auth_impl.d.ts +8 -2
  97. package/dist/node/src/core/auth/password_policy_impl.d.ts +59 -0
  98. package/dist/node/src/core/auth/password_policy_impl.test.d.ts +17 -0
  99. package/dist/node/src/core/errors.d.ts +3 -1
  100. package/dist/node/src/core/index.d.ts +25 -1
  101. package/dist/node/src/model/auth.d.ts +7 -2
  102. package/dist/node/src/model/password_policy.d.ts +111 -0
  103. package/dist/node/src/model/public_types.d.ts +88 -0
  104. package/dist/node/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  105. package/dist/node/src/platform_node/index.d.ts +1 -0
  106. package/dist/node/test/helpers/integration/helpers.d.ts +6 -0
  107. package/dist/node/test/integration/flows/password_policy.test.d.ts +17 -0
  108. package/dist/node/{totp-7ea0acc9.js → totp-4cc8bac4.js} +700 -375
  109. package/dist/node/totp-4cc8bac4.js.map +1 -0
  110. package/dist/node-esm/index.js +1 -1
  111. package/dist/node-esm/internal.js +2 -2
  112. package/dist/node-esm/src/api/errors.d.ts +2 -1
  113. package/dist/node-esm/src/api/index.d.ts +2 -1
  114. package/dist/node-esm/src/api/password_policy/get_password_policy.d.ts +48 -0
  115. package/dist/node-esm/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  116. package/dist/node-esm/src/core/auth/auth_impl.d.ts +8 -2
  117. package/dist/node-esm/src/core/auth/password_policy_impl.d.ts +59 -0
  118. package/dist/node-esm/src/core/auth/password_policy_impl.test.d.ts +17 -0
  119. package/dist/node-esm/src/core/errors.d.ts +3 -1
  120. package/dist/node-esm/src/core/index.d.ts +25 -1
  121. package/dist/node-esm/src/model/auth.d.ts +7 -2
  122. package/dist/node-esm/src/model/password_policy.d.ts +111 -0
  123. package/dist/node-esm/src/model/public_types.d.ts +88 -0
  124. package/dist/node-esm/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  125. package/dist/node-esm/src/platform_node/index.d.ts +1 -0
  126. package/dist/node-esm/test/helpers/integration/helpers.d.ts +6 -0
  127. package/dist/node-esm/test/integration/flows/password_policy.test.d.ts +17 -0
  128. package/dist/node-esm/{totp-af1856f8.js → totp-79809646.js} +540 -267
  129. package/dist/node-esm/totp-79809646.js.map +1 -0
  130. package/dist/rn/index.js +2 -1
  131. package/dist/rn/index.js.map +1 -1
  132. package/dist/rn/internal.js +2 -1
  133. package/dist/rn/internal.js.map +1 -1
  134. package/dist/rn/{phone-a321ec79.js → phone-87fdb2ba.js} +717 -392
  135. package/dist/rn/phone-87fdb2ba.js.map +1 -0
  136. package/dist/rn/src/api/errors.d.ts +2 -1
  137. package/dist/rn/src/api/index.d.ts +2 -1
  138. package/dist/rn/src/api/password_policy/get_password_policy.d.ts +48 -0
  139. package/dist/rn/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  140. package/dist/rn/src/core/auth/auth_impl.d.ts +8 -2
  141. package/dist/rn/src/core/auth/password_policy_impl.d.ts +59 -0
  142. package/dist/rn/src/core/auth/password_policy_impl.test.d.ts +17 -0
  143. package/dist/rn/src/core/errors.d.ts +3 -1
  144. package/dist/rn/src/core/index.d.ts +25 -1
  145. package/dist/rn/src/model/auth.d.ts +7 -2
  146. package/dist/rn/src/model/password_policy.d.ts +111 -0
  147. package/dist/rn/src/model/public_types.d.ts +88 -0
  148. package/dist/rn/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  149. package/dist/rn/src/platform_node/index.d.ts +1 -0
  150. package/dist/rn/test/helpers/integration/helpers.d.ts +6 -0
  151. package/dist/rn/test/integration/flows/password_policy.test.d.ts +17 -0
  152. package/dist/src/api/errors.d.ts +2 -1
  153. package/dist/src/api/index.d.ts +2 -1
  154. package/dist/src/api/password_policy/get_password_policy.d.ts +48 -0
  155. package/dist/src/api/password_policy/get_password_policy.test.d.ts +17 -0
  156. package/dist/src/core/auth/auth_impl.d.ts +8 -2
  157. package/dist/src/core/auth/password_policy_impl.d.ts +59 -0
  158. package/dist/src/core/auth/password_policy_impl.test.d.ts +17 -0
  159. package/dist/src/core/errors.d.ts +3 -1
  160. package/dist/src/core/index.d.ts +25 -1
  161. package/dist/src/model/auth.d.ts +7 -2
  162. package/dist/src/model/password_policy.d.ts +111 -0
  163. package/dist/src/model/public_types.d.ts +88 -0
  164. package/dist/src/platform_browser/recaptcha/recaptcha_enterprise_verifier.d.ts +1 -0
  165. package/dist/src/platform_node/index.d.ts +1 -0
  166. package/dist/test/helpers/integration/helpers.d.ts +6 -0
  167. package/dist/test/integration/flows/password_policy.test.d.ts +17 -0
  168. package/package.json +6 -6
  169. package/dist/browser-cjs/index-1a2a2779.js.map +0 -1
  170. package/dist/cordova/popup_redirect-8599967b.js.map +0 -1
  171. package/dist/esm2017/index-f8a66098.js.map +0 -1
  172. package/dist/esm5/index-fdb9efbb.js.map +0 -1
  173. package/dist/node/totp-7ea0acc9.js.map +0 -1
  174. package/dist/node-esm/totp-af1856f8.js.map +0 -1
  175. package/dist/rn/phone-a321ec79.js.map +0 -1
@@ -1,7 +1,7 @@
1
- export { A as ActionCodeOperation, ag as ActionCodeURL, J as AuthCredential, G as AuthErrorCodes, K as EmailAuthCredential, Q as EmailAuthProvider, U as FacebookAuthProvider, F as FactorId, W as GithubAuthProvider, V as GoogleAuthProvider, L as OAuthCredential, X as OAuthProvider, O as OperationType, M as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, Y as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, Z as TwitterAuthProvider, a5 as applyActionCode, w as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a6 as checkActionCode, a4 as confirmPasswordReset, I as connectAuthEmulator, a8 as createUserWithEmailAndPassword, D as debugErrorMap, C as deleteUser, ad as fetchSignInMethodsForEmail, ao as getAdditionalUserInfo, o as getAuth, al as getIdToken, am as getIdTokenResult, aq as getMultiFactorResolver, j as getRedirectResult, N as inMemoryPersistence, i as indexedDBLocalPersistence, H as initializeAuth, t as initializeRecaptchaConfig, ab as isSignInWithEmailLink, a0 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, ar as multiFactor, x as onAuthStateChanged, v as onIdTokenChanged, ah as parseActionCodeURL, E as prodErrorMap, a1 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ap as reload, ae as sendEmailVerification, a3 as sendPasswordResetEmail, aa as sendSignInLinkToEmail, q as setPersistence, _ as signInAnonymously, $ as signInWithCredential, a2 as signInWithCustomToken, a9 as signInWithEmailAndPassword, ac as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, B as signOut, an as unlink, z as updateCurrentUser, aj as updateEmail, ak as updatePassword, u as updatePhoneNumber, ai as updateProfile, y as useDeviceLanguage, af as verifyBeforeUpdateEmail, a7 as verifyPasswordResetCode } from './index-f8a66098.js';
1
+ export { A as ActionCodeOperation, ah as ActionCodeURL, K as AuthCredential, H as AuthErrorCodes, L as EmailAuthCredential, U as EmailAuthProvider, V as FacebookAuthProvider, F as FactorId, X as GithubAuthProvider, W as GoogleAuthProvider, M as OAuthCredential, Y as OAuthProvider, O as OperationType, N as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, Z as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, _ as TwitterAuthProvider, a6 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a7 as checkActionCode, a5 as confirmPasswordReset, J as connectAuthEmulator, a9 as createUserWithEmailAndPassword, E as debugErrorMap, D as deleteUser, ae as fetchSignInMethodsForEmail, ap as getAdditionalUserInfo, o as getAuth, am as getIdToken, an as getIdTokenResult, ar as getMultiFactorResolver, j as getRedirectResult, Q as inMemoryPersistence, i as indexedDBLocalPersistence, I as initializeAuth, t as initializeRecaptchaConfig, ac as isSignInWithEmailLink, a1 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, as as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, ai as parseActionCodeURL, G as prodErrorMap, a2 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, aq as reload, af as sendEmailVerification, a4 as sendPasswordResetEmail, ab as sendSignInLinkToEmail, q as setPersistence, $ as signInAnonymously, a0 as signInWithCredential, a3 as signInWithCustomToken, aa as signInWithEmailAndPassword, ad as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ao as unlink, B as updateCurrentUser, ak as updateEmail, al as updatePassword, u as updatePhoneNumber, aj as updateProfile, z as useDeviceLanguage, v as validatePassword, ag as verifyBeforeUpdateEmail, a8 as verifyPasswordResetCode } from './index-9be3d514.js';
2
2
  import '@firebase/util';
3
3
  import '@firebase/app';
4
- import 'tslib';
5
4
  import '@firebase/logger';
5
+ import 'tslib';
6
6
  import '@firebase/component';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- import { as as debugAssert, at as _isIOS, au as _isAndroid, av as _fail, aw as _getRedirectUrl, ax as _getProjectConfig, ay as _isIOS7Or8, az as _createError, aA as _assert, aB as AuthEventManager, aC as _getInstance, b as browserLocalPersistence, aD as _persistenceKeyName, a as browserSessionPersistence, aE as _getRedirectResult, aF as _overrideRedirectResult, aG as _clearRedirectOutcomes, aH as _castAuth } from './index-f8a66098.js';
2
- export { A as ActionCodeOperation, ag as ActionCodeURL, J as AuthCredential, G as AuthErrorCodes, aJ as AuthImpl, aM as AuthPopup, K as EmailAuthCredential, Q as EmailAuthProvider, U as FacebookAuthProvider, F as FactorId, aN as FetchProvider, W as GithubAuthProvider, V as GoogleAuthProvider, L as OAuthCredential, X as OAuthProvider, O as OperationType, M as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, aO as SAMLAuthCredential, Y as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, Z as TwitterAuthProvider, aI as UserImpl, aA as _assert, aH as _castAuth, av as _fail, aL as _generateEventId, aK as _getClientVersion, aC as _getInstance, aE as _getRedirectResult, aF as _overrideRedirectResult, aD as _persistenceKeyName, a5 as applyActionCode, w as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a6 as checkActionCode, a4 as confirmPasswordReset, I as connectAuthEmulator, a8 as createUserWithEmailAndPassword, D as debugErrorMap, C as deleteUser, ad as fetchSignInMethodsForEmail, ao as getAdditionalUserInfo, o as getAuth, al as getIdToken, am as getIdTokenResult, aq as getMultiFactorResolver, j as getRedirectResult, N as inMemoryPersistence, i as indexedDBLocalPersistence, H as initializeAuth, t as initializeRecaptchaConfig, ab as isSignInWithEmailLink, a0 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, ar as multiFactor, x as onAuthStateChanged, v as onIdTokenChanged, ah as parseActionCodeURL, E as prodErrorMap, a1 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ap as reload, ae as sendEmailVerification, a3 as sendPasswordResetEmail, aa as sendSignInLinkToEmail, q as setPersistence, _ as signInAnonymously, $ as signInWithCredential, a2 as signInWithCustomToken, a9 as signInWithEmailAndPassword, ac as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, B as signOut, an as unlink, z as updateCurrentUser, aj as updateEmail, ak as updatePassword, u as updatePhoneNumber, ai as updateProfile, y as useDeviceLanguage, af as verifyBeforeUpdateEmail, a7 as verifyPasswordResetCode } from './index-f8a66098.js';
1
+ import { at as debugAssert, au as _isIOS, av as _isAndroid, aw as _fail, ax as _getRedirectUrl, ay as _getProjectConfig, az as _isIOS7Or8, aA as _createError, aB as _assert, aC as AuthEventManager, aD as _getInstance, b as browserLocalPersistence, aE as _persistenceKeyName, a as browserSessionPersistence, aF as _getRedirectResult, aG as _overrideRedirectResult, aH as _clearRedirectOutcomes, aI as _castAuth } from './index-9be3d514.js';
2
+ export { A as ActionCodeOperation, ah as ActionCodeURL, K as AuthCredential, H as AuthErrorCodes, aK as AuthImpl, aN as AuthPopup, L as EmailAuthCredential, U as EmailAuthProvider, V as FacebookAuthProvider, F as FactorId, aO as FetchProvider, X as GithubAuthProvider, W as GoogleAuthProvider, M as OAuthCredential, Y as OAuthProvider, O as OperationType, N as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, aP as SAMLAuthCredential, Z as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, _ as TwitterAuthProvider, aJ as UserImpl, aB as _assert, aI as _castAuth, aw as _fail, aM as _generateEventId, aL as _getClientVersion, aD as _getInstance, aF as _getRedirectResult, aG as _overrideRedirectResult, aE as _persistenceKeyName, a6 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a7 as checkActionCode, a5 as confirmPasswordReset, J as connectAuthEmulator, a9 as createUserWithEmailAndPassword, E as debugErrorMap, D as deleteUser, ae as fetchSignInMethodsForEmail, ap as getAdditionalUserInfo, o as getAuth, am as getIdToken, an as getIdTokenResult, ar as getMultiFactorResolver, j as getRedirectResult, Q as inMemoryPersistence, i as indexedDBLocalPersistence, I as initializeAuth, t as initializeRecaptchaConfig, ac as isSignInWithEmailLink, a1 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, as as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, ai as parseActionCodeURL, G as prodErrorMap, a2 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, aq as reload, af as sendEmailVerification, a4 as sendPasswordResetEmail, ab as sendSignInLinkToEmail, q as setPersistence, $ as signInAnonymously, a0 as signInWithCredential, a3 as signInWithCustomToken, aa as signInWithEmailAndPassword, ad as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ao as unlink, B as updateCurrentUser, ak as updateEmail, al as updatePassword, u as updatePhoneNumber, aj as updateProfile, z as useDeviceLanguage, v as validatePassword, ag as verifyBeforeUpdateEmail, a8 as verifyPasswordResetCode } from './index-9be3d514.js';
3
3
  import { querystringDecode } from '@firebase/util';
4
4
  import '@firebase/app';
5
- import 'tslib';
6
5
  import '@firebase/logger';
6
+ import 'tslib';
7
7
  import '@firebase/component';
8
8
 
9
9
  /**
@@ -96,7 +96,8 @@ export declare const enum ServerError {
96
96
  MISSING_CLIENT_TYPE = "MISSING_CLIENT_TYPE",
97
97
  MISSING_RECAPTCHA_VERSION = "MISSING_RECAPTCHA_VERSION",
98
98
  INVALID_RECAPTCHA_VERSION = "INVALID_RECAPTCHA_VERSION",
99
- INVALID_REQ_TYPE = "INVALID_REQ_TYPE"
99
+ INVALID_REQ_TYPE = "INVALID_REQ_TYPE",
100
+ PASSWORD_DOES_NOT_MEET_REQUIREMENTS = "PASSWORD_DOES_NOT_MEET_REQUIREMENTS"
100
101
  }
101
102
  /**
102
103
  * API Response in the event of an error
@@ -53,7 +53,8 @@ export declare const enum Endpoint {
53
53
  FINALIZE_MFA_SIGN_IN = "/v2/accounts/mfaSignIn:finalize",
54
54
  WITHDRAW_MFA = "/v2/accounts/mfaEnrollment:withdraw",
55
55
  GET_PROJECT_CONFIG = "/v1/projects",
56
- GET_RECAPTCHA_CONFIG = "/v2/recaptchaConfig"
56
+ GET_RECAPTCHA_CONFIG = "/v2/recaptchaConfig",
57
+ GET_PASSWORD_POLICY = "/v2/passwordPolicy"
57
58
  }
58
59
  export declare const enum RecaptchaClientType {
59
60
  WEB = "CLIENT_TYPE_WEB",
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Auth } from '../../model/public_types';
18
+ /**
19
+ * Request object for fetching the password policy.
20
+ */
21
+ export interface GetPasswordPolicyRequest {
22
+ tenantId?: string;
23
+ }
24
+ /**
25
+ * Response object for fetching the password policy.
26
+ */
27
+ export interface GetPasswordPolicyResponse {
28
+ customStrengthOptions: {
29
+ minPasswordLength?: number;
30
+ maxPasswordLength?: number;
31
+ containsLowercaseCharacter?: boolean;
32
+ containsUppercaseCharacter?: boolean;
33
+ containsNumericCharacter?: boolean;
34
+ containsNonAlphanumericCharacter?: boolean;
35
+ };
36
+ allowedNonAlphanumericCharacters?: string[];
37
+ enforcementState: string;
38
+ forceUpgradeOnSignin?: boolean;
39
+ schemaVersion: number;
40
+ }
41
+ /**
42
+ * Fetches the password policy for the currently set tenant or the project if no tenant is set.
43
+ *
44
+ * @param auth Auth object.
45
+ * @param request Password policy request.
46
+ * @returns Password policy response.
47
+ */
48
+ export declare function _getPasswordPolicy(auth: Auth, request?: GetPasswordPolicyRequest): Promise<GetPasswordPolicyResponse>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
@@ -17,7 +17,7 @@
17
17
  import { _FirebaseService, FirebaseApp } from '@firebase/app';
18
18
  import { Provider } from '@firebase/component';
19
19
  import { AppCheckInternalComponentName } from '@firebase/app-check-interop-types';
20
- import { Auth, AuthErrorMap, AuthSettings, EmulatorConfig, NextOrObserver, Persistence, PopupRedirectResolver, User, CompleteFn, ErrorFn, Unsubscribe } from '../../model/public_types';
20
+ import { Auth, AuthErrorMap, AuthSettings, EmulatorConfig, NextOrObserver, Persistence, PopupRedirectResolver, User, CompleteFn, ErrorFn, Unsubscribe, PasswordValidationStatus } from '../../model/public_types';
21
21
  import { ErrorFactory } from '@firebase/util';
22
22
  import { AuthInternal, ConfigInternal } from '../../model/auth';
23
23
  import { PopupRedirectResolverInternal } from '../../model/popup_redirect';
@@ -25,6 +25,7 @@ import { UserInternal } from '../../model/user';
25
25
  import { AuthErrorCode, AuthErrorParams } from '../errors';
26
26
  import { PersistenceInternal } from '../persistence';
27
27
  import { RecaptchaConfig } from '../../platform_browser/recaptcha/recaptcha';
28
+ import { PasswordPolicyInternal } from '../../model/password_policy';
28
29
  export declare const enum DefaultConfig {
29
30
  TOKEN_API_HOST = "securetoken.googleapis.com",
30
31
  API_HOST = "identitytoolkit.googleapis.com",
@@ -45,6 +46,7 @@ export declare class AuthImpl implements AuthInternal, _FirebaseService {
45
46
  private readonly beforeStateQueue;
46
47
  private redirectUser;
47
48
  private isProactiveRefreshEnabled;
49
+ private readonly EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION;
48
50
  _canInitEmulator: boolean;
49
51
  _isInitialized: boolean;
50
52
  _deleted: boolean;
@@ -53,6 +55,8 @@ export declare class AuthImpl implements AuthInternal, _FirebaseService {
53
55
  _errorFactory: ErrorFactory<AuthErrorCode, AuthErrorParams>;
54
56
  _agentRecaptchaConfig: RecaptchaConfig | null;
55
57
  _tenantRecaptchaConfigs: Record<string, RecaptchaConfig>;
58
+ _projectPasswordPolicy: PasswordPolicyInternal | null;
59
+ _tenantPasswordPolicies: Record<string, PasswordPolicyInternal>;
56
60
  readonly name: string;
57
61
  private lastNotifiedUid;
58
62
  languageCode: string | null;
@@ -73,8 +77,10 @@ export declare class AuthImpl implements AuthInternal, _FirebaseService {
73
77
  _updateCurrentUser(user: User | null, skipBeforeStateCallbacks?: boolean): Promise<void>;
74
78
  signOut(): Promise<void>;
75
79
  setPersistence(persistence: Persistence): Promise<void>;
76
- initializeRecaptchaConfig(): Promise<void>;
77
80
  _getRecaptchaConfig(): RecaptchaConfig | null;
81
+ validatePassword(password: string): Promise<PasswordValidationStatus>;
82
+ _getPasswordPolicyInternal(): PasswordPolicyInternal | null;
83
+ _updatePasswordPolicy(): Promise<void>;
78
84
  _getPersistence(): string;
79
85
  _updateErrorMap(errorMap: AuthErrorMap): void;
80
86
  onAuthStateChanged(nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { GetPasswordPolicyResponse } from '../../api/password_policy/get_password_policy';
18
+ import { PasswordPolicyCustomStrengthOptions, PasswordPolicyInternal } from '../../model/password_policy';
19
+ import { PasswordValidationStatus } from '../../model/public_types';
20
+ /**
21
+ * Stores password policy requirements and provides password validation against the policy.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare class PasswordPolicyImpl implements PasswordPolicyInternal {
26
+ readonly customStrengthOptions: PasswordPolicyCustomStrengthOptions;
27
+ readonly allowedNonAlphanumericCharacters: string;
28
+ readonly enforcementState: string;
29
+ readonly forceUpgradeOnSignin: boolean;
30
+ readonly schemaVersion: number;
31
+ constructor(response: GetPasswordPolicyResponse);
32
+ validatePassword(password: string): PasswordValidationStatus;
33
+ /**
34
+ * Validates that the password meets the length options for the policy.
35
+ *
36
+ * @param password Password to validate.
37
+ * @param status Validation status.
38
+ */
39
+ private validatePasswordLengthOptions;
40
+ /**
41
+ * Validates that the password meets the character options for the policy.
42
+ *
43
+ * @param password Password to validate.
44
+ * @param status Validation status.
45
+ */
46
+ private validatePasswordCharacterOptions;
47
+ /**
48
+ * Updates the running validation status with the statuses for the character options.
49
+ * Expected to be called each time a character is processed to update each option status
50
+ * based on the current character.
51
+ *
52
+ * @param status Validation status.
53
+ * @param containsLowercaseCharacter Whether the character is a lowercase letter.
54
+ * @param containsUppercaseCharacter Whether the character is an uppercase letter.
55
+ * @param containsNumericCharacter Whether the character is a numeric character.
56
+ * @param containsNonAlphanumericCharacter Whether the character is a non-alphanumeric character.
57
+ */
58
+ private updatePasswordCharacterOptionsStatuses;
59
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
@@ -129,7 +129,9 @@ export declare const enum AuthErrorCode {
129
129
  MISSING_CLIENT_TYPE = "missing-client-type",
130
130
  MISSING_RECAPTCHA_VERSION = "missing-recaptcha-version",
131
131
  INVALID_RECAPTCHA_VERSION = "invalid-recaptcha-version",
132
- INVALID_REQ_TYPE = "invalid-req-type"
132
+ INVALID_REQ_TYPE = "invalid-req-type",
133
+ UNSUPPORTED_PASSWORD_POLICY_SCHEMA_VERSION = "unsupported-password-policy-schema-version",
134
+ PASSWORD_DOES_NOT_MEET_REQUIREMENTS = "password-does-not-meet-requirements"
133
135
  }
134
136
  export interface ErrorMapRetriever extends AuthErrorMap {
135
137
  (): ErrorMap<AuthErrorCode>;
@@ -14,7 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { Auth, NextOrObserver, Persistence, User, CompleteFn, ErrorFn, Unsubscribe } from '../model/public_types';
17
+ import { Auth, NextOrObserver, Persistence, User, CompleteFn, ErrorFn, Unsubscribe, PasswordValidationStatus } from '../model/public_types';
18
18
  export { debugErrorMap, prodErrorMap, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as AuthErrorCodes } from './errors';
19
19
  /**
20
20
  * Changes the type of persistence on the {@link Auth} instance for the currently saved
@@ -68,6 +68,30 @@ export declare function setPersistence(auth: Auth, persistence: Persistence): Pr
68
68
  * @public
69
69
  */
70
70
  export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
71
+ /**
72
+ * Validates the password against the password policy configured for the project or tenant.
73
+ *
74
+ * @remarks
75
+ * If no tenant ID is set on the `Auth` instance, then this method will use the password
76
+ * policy configured for the project. Otherwise, this method will use the policy configured
77
+ * for the tenant. If a password policy has not been configured, then the default policy
78
+ * configured for all projects will be used.
79
+ *
80
+ * If an auth flow fails because a submitted password does not meet the password policy
81
+ * requirements and this method has previously been called, then this method will use the
82
+ * most recent policy available when called again.
83
+ *
84
+ * @example
85
+ * ```javascript
86
+ * validatePassword(auth, 'some-password');
87
+ * ```
88
+ *
89
+ * @param auth The {@link Auth} instance.
90
+ * @param password The password to validate.
91
+ *
92
+ * @public
93
+ */
94
+ export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;
71
95
  /**
72
96
  * Adds an observer for changes to the signed-in user's ID token.
73
97
  *
@@ -14,13 +14,14 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { Auth, AuthSettings, Config, EmulatorConfig, PopupRedirectResolver, User } from './public_types';
17
+ import { Auth, AuthSettings, Config, EmulatorConfig, PasswordPolicy, PasswordValidationStatus, PopupRedirectResolver, User } from './public_types';
18
18
  import { ErrorFactory } from '@firebase/util';
19
19
  import { AuthErrorCode, AuthErrorParams } from '../core/errors';
20
20
  import { PopupRedirectResolverInternal } from './popup_redirect';
21
21
  import { UserInternal } from './user';
22
22
  import { ClientPlatform } from '../core/util/version';
23
23
  import { RecaptchaConfig } from '../platform_browser/recaptcha/recaptcha';
24
+ import { PasswordPolicyInternal } from './password_policy';
24
25
  export declare type AppName = string;
25
26
  export declare type ApiKey = string;
26
27
  export declare type AuthDomain = string;
@@ -50,6 +51,8 @@ export interface AuthInternal extends Auth {
50
51
  emulatorConfig: EmulatorConfig | null;
51
52
  _agentRecaptchaConfig: RecaptchaConfig | null;
52
53
  _tenantRecaptchaConfigs: Record<string, RecaptchaConfig>;
54
+ _projectPasswordPolicy: PasswordPolicy | null;
55
+ _tenantPasswordPolicies: Record<string, PasswordPolicy>;
53
56
  _canInitEmulator: boolean;
54
57
  _isInitialized: boolean;
55
58
  _initializationPromise: Promise<void> | null;
@@ -65,6 +68,8 @@ export interface AuthInternal extends Auth {
65
68
  _stopProactiveRefresh(): void;
66
69
  _getPersistence(): string;
67
70
  _getRecaptchaConfig(): RecaptchaConfig | null;
71
+ _getPasswordPolicyInternal(): PasswordPolicyInternal | null;
72
+ _updatePasswordPolicy(): Promise<void>;
68
73
  _logFramework(framework: string): void;
69
74
  _getFrameworks(): readonly string[];
70
75
  _getAdditionalHeaders(): Promise<Record<string, string>>;
@@ -77,5 +82,5 @@ export interface AuthInternal extends Auth {
77
82
  _errorFactory: ErrorFactory<AuthErrorCode, AuthErrorParams>;
78
83
  useDeviceLanguage(): void;
79
84
  signOut(): Promise<void>;
80
- initializeRecaptchaConfig(): Promise<void>;
85
+ validatePassword(password: string): Promise<PasswordValidationStatus>;
81
86
  }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { PasswordPolicy, PasswordValidationStatus } from './public_types';
18
+ /**
19
+ * Internal typing of password policy that includes the schema version and methods for
20
+ * validating that a password meets the policy. The developer does not need access to
21
+ * these properties and methods, so they are excluded from the public typing.
22
+ *
23
+ * @internal
24
+ */
25
+ export interface PasswordPolicyInternal extends PasswordPolicy {
26
+ /**
27
+ * Requirements enforced by the password policy.
28
+ */
29
+ readonly customStrengthOptions: PasswordPolicyCustomStrengthOptions;
30
+ /**
31
+ * Schema version of the password policy.
32
+ */
33
+ readonly schemaVersion: number;
34
+ /**
35
+ * Validates the password against the policy.
36
+ * @param password Password to validate.
37
+ */
38
+ validatePassword(password: string): PasswordValidationStatus;
39
+ }
40
+ /**
41
+ * Internal typing of the password policy custom strength options that is modifiable. This
42
+ * allows us to construct the strength options before storing them in the policy.
43
+ *
44
+ * @internal
45
+ */
46
+ export interface PasswordPolicyCustomStrengthOptions {
47
+ /**
48
+ * Minimum password length.
49
+ */
50
+ minPasswordLength?: number;
51
+ /**
52
+ * Maximum password length.
53
+ */
54
+ maxPasswordLength?: number;
55
+ /**
56
+ * Whether the password should contain a lowercase letter.
57
+ */
58
+ containsLowercaseLetter?: boolean;
59
+ /**
60
+ * Whether the password should contain an uppercase letter.
61
+ */
62
+ containsUppercaseLetter?: boolean;
63
+ /**
64
+ * Whether the password should contain a numeric character.
65
+ */
66
+ containsNumericCharacter?: boolean;
67
+ /**
68
+ * Whether the password should contain a non-alphanumeric character.
69
+ */
70
+ containsNonAlphanumericCharacter?: boolean;
71
+ }
72
+ /**
73
+ * Internal typing of password validation status that is modifiable. This allows us to
74
+ * construct the validation status before returning it.
75
+ *
76
+ * @internal
77
+ */
78
+ export interface PasswordValidationStatusInternal extends PasswordValidationStatus {
79
+ /**
80
+ * Whether the password meets all requirements.
81
+ */
82
+ isValid: boolean;
83
+ /**
84
+ * Whether the password meets the minimum password length.
85
+ */
86
+ meetsMinPasswordLength?: boolean;
87
+ /**
88
+ * Whether the password meets the maximum password length.
89
+ */
90
+ meetsMaxPasswordLength?: boolean;
91
+ /**
92
+ * Whether the password contains a lowercase letter, if required.
93
+ */
94
+ containsLowercaseLetter?: boolean;
95
+ /**
96
+ * Whether the password contains an uppercase letter, if required.
97
+ */
98
+ containsUppercaseLetter?: boolean;
99
+ /**
100
+ * Whether the password contains a numeric character, if required.
101
+ */
102
+ containsNumericCharacter?: boolean;
103
+ /**
104
+ * Whether the password contains a non-alphanumeric character, if required.
105
+ */
106
+ containsNonAlphanumericCharacter?: boolean;
107
+ /**
108
+ * The policy used to validate the password.
109
+ */
110
+ passwordPolicy: PasswordPolicy;
111
+ }
@@ -1188,3 +1188,91 @@ export interface Dependencies {
1188
1188
  */
1189
1189
  export interface TotpMultiFactorAssertion extends MultiFactorAssertion {
1190
1190
  }
1191
+ /**
1192
+ * A structure specifying password policy requirements.
1193
+ *
1194
+ * @public
1195
+ */
1196
+ export interface PasswordPolicy {
1197
+ /**
1198
+ * Requirements enforced by this password policy.
1199
+ */
1200
+ readonly customStrengthOptions: {
1201
+ /**
1202
+ * Minimum password length, or undefined if not configured.
1203
+ */
1204
+ readonly minPasswordLength?: number;
1205
+ /**
1206
+ * Maximum password length, or undefined if not configured.
1207
+ */
1208
+ readonly maxPasswordLength?: number;
1209
+ /**
1210
+ * Whether the password should contain a lowercase letter, or undefined if not configured.
1211
+ */
1212
+ readonly containsLowercaseLetter?: boolean;
1213
+ /**
1214
+ * Whether the password should contain an uppercase letter, or undefined if not configured.
1215
+ */
1216
+ readonly containsUppercaseLetter?: boolean;
1217
+ /**
1218
+ * Whether the password should contain a numeric character, or undefined if not configured.
1219
+ */
1220
+ readonly containsNumericCharacter?: boolean;
1221
+ /**
1222
+ * Whether the password should contain a non-alphanumeric character, or undefined if not configured.
1223
+ */
1224
+ readonly containsNonAlphanumericCharacter?: boolean;
1225
+ };
1226
+ /**
1227
+ * List of characters that are considered non-alphanumeric during validation.
1228
+ */
1229
+ readonly allowedNonAlphanumericCharacters: string;
1230
+ /**
1231
+ * The enforcement state of the policy. Can be 'OFF' or 'ENFORCE'.
1232
+ */
1233
+ readonly enforcementState: string;
1234
+ /**
1235
+ * Whether existing passwords must meet the policy.
1236
+ */
1237
+ readonly forceUpgradeOnSignin: boolean;
1238
+ }
1239
+ /**
1240
+ * A structure indicating which password policy requirements were met or violated and what the
1241
+ * requirements are.
1242
+ *
1243
+ * @public
1244
+ */
1245
+ export interface PasswordValidationStatus {
1246
+ /**
1247
+ * Whether the password meets all requirements.
1248
+ */
1249
+ readonly isValid: boolean;
1250
+ /**
1251
+ * Whether the password meets the minimum password length, or undefined if not required.
1252
+ */
1253
+ readonly meetsMinPasswordLength?: boolean;
1254
+ /**
1255
+ * Whether the password meets the maximum password length, or undefined if not required.
1256
+ */
1257
+ readonly meetsMaxPasswordLength?: boolean;
1258
+ /**
1259
+ * Whether the password contains a lowercase letter, or undefined if not required.
1260
+ */
1261
+ readonly containsLowercaseLetter?: boolean;
1262
+ /**
1263
+ * Whether the password contains an uppercase letter, or undefined if not required.
1264
+ */
1265
+ readonly containsUppercaseLetter?: boolean;
1266
+ /**
1267
+ * Whether the password contains a numeric character, or undefined if not required.
1268
+ */
1269
+ readonly containsNumericCharacter?: boolean;
1270
+ /**
1271
+ * Whether the password contains a non-alphanumeric character, or undefined if not required.
1272
+ */
1273
+ readonly containsNonAlphanumericCharacter?: boolean;
1274
+ /**
1275
+ * The policy used to validate the password.
1276
+ */
1277
+ readonly passwordPolicy: PasswordPolicy;
1278
+ }
@@ -39,3 +39,4 @@ export declare class RecaptchaEnterpriseVerifier {
39
39
  verify(action?: string, forceRefresh?: boolean): Promise<string>;
40
40
  }
41
41
  export declare function injectRecaptchaFields<T>(auth: AuthInternal, request: T, action: RecaptchaActionName, captchaResp?: boolean): Promise<T>;
42
+ export declare function _initializeRecaptchaConfig(auth: Auth): Promise<void>;
@@ -43,6 +43,7 @@ export declare const linkWithRedirect: typeof fail;
43
43
  export declare const reauthenticateWithRedirect: typeof fail;
44
44
  export declare const getRedirectResult: typeof fail;
45
45
  export declare const RecaptchaVerifier: typeof FailClass;
46
+ export declare const initializeRecaptchaConfig: typeof fail;
46
47
  export declare class PhoneMultiFactorGenerator {
47
48
  static assertion(): unknown;
48
49
  }
@@ -22,3 +22,9 @@ export declare function getTotpCode(sharedSecretKey: string, periodSec: number,
22
22
  export declare const email = "totpuser-donotdelete@test.com";
23
23
  export declare const password = "password";
24
24
  export declare const incorrectTotpCode = "1000000";
25
+ /**
26
+ * Generates a valid password for the project or tenant password policy in the Auth instance.
27
+ * @param auth The {@link Auth} instance.
28
+ * @returns A valid password according to the password policy.
29
+ */
30
+ export declare function generateValidPassword(auth: Auth): Promise<string>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};