@firebase/auth 1.4.0 → 1.5.0-20231120214520

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 (80) hide show
  1. package/dist/auth-public.d.ts +14 -2
  2. package/dist/auth.d.ts +15 -3
  3. package/dist/browser-cjs/{index-3d1ff45e.js → index-51eb0fe5.js} +23 -8
  4. package/dist/browser-cjs/index-51eb0fe5.js.map +1 -0
  5. package/dist/browser-cjs/index.js +1 -1
  6. package/dist/browser-cjs/internal.js +1 -1
  7. package/dist/browser-cjs/src/api/errors.d.ts +1 -0
  8. package/dist/browser-cjs/src/core/errors.d.ts +2 -1
  9. package/dist/browser-cjs/src/core/strategies/email.d.ts +5 -1
  10. package/dist/browser-cjs/src/core/strategies/email_and_password.d.ts +5 -1
  11. package/dist/browser-cjs/src/core/user/account_info.d.ts +3 -0
  12. package/dist/cordova/index.js +2 -2
  13. package/dist/cordova/internal.js +2 -2
  14. package/dist/cordova/{popup_redirect-73b8b0b9.js → popup_redirect-4157fc14.js} +23 -8
  15. package/dist/cordova/popup_redirect-4157fc14.js.map +1 -0
  16. package/dist/cordova/src/api/errors.d.ts +1 -0
  17. package/dist/cordova/src/core/errors.d.ts +2 -1
  18. package/dist/cordova/src/core/strategies/email.d.ts +5 -1
  19. package/dist/cordova/src/core/strategies/email_and_password.d.ts +5 -1
  20. package/dist/cordova/src/core/user/account_info.d.ts +3 -0
  21. package/dist/esm2017/{index-61e5ac61.js → index-50a157a9.js} +23 -8
  22. package/dist/esm2017/index-50a157a9.js.map +1 -0
  23. package/dist/esm2017/index.js +1 -1
  24. package/dist/esm2017/internal.js +2 -2
  25. package/dist/esm2017/src/api/errors.d.ts +1 -0
  26. package/dist/esm2017/src/core/errors.d.ts +2 -1
  27. package/dist/esm2017/src/core/strategies/email.d.ts +5 -1
  28. package/dist/esm2017/src/core/strategies/email_and_password.d.ts +5 -1
  29. package/dist/esm2017/src/core/user/account_info.d.ts +3 -0
  30. package/dist/esm5/{index-22a88599.js → index-2922edb2.js} +23 -8
  31. package/dist/esm5/index-2922edb2.js.map +1 -0
  32. package/dist/esm5/index.js +1 -1
  33. package/dist/esm5/internal.js +2 -2
  34. package/dist/esm5/src/api/errors.d.ts +1 -0
  35. package/dist/esm5/src/core/errors.d.ts +2 -1
  36. package/dist/esm5/src/core/strategies/email.d.ts +5 -1
  37. package/dist/esm5/src/core/strategies/email_and_password.d.ts +5 -1
  38. package/dist/esm5/src/core/user/account_info.d.ts +3 -0
  39. package/dist/index.webworker.esm5.js +22 -7
  40. package/dist/index.webworker.esm5.js.map +1 -1
  41. package/dist/node/index.js +2 -2
  42. package/dist/node/internal.js +2 -2
  43. package/dist/node/src/api/errors.d.ts +1 -0
  44. package/dist/node/src/core/errors.d.ts +2 -1
  45. package/dist/node/src/core/strategies/email.d.ts +5 -1
  46. package/dist/node/src/core/strategies/email_and_password.d.ts +5 -1
  47. package/dist/node/src/core/user/account_info.d.ts +3 -0
  48. package/dist/node/{totp-d9065ba0.js → totp-bad12bf6.js} +25 -30
  49. package/dist/node/totp-bad12bf6.js.map +1 -0
  50. package/dist/node-esm/index.js +2 -2
  51. package/dist/node-esm/internal.js +3 -3
  52. package/dist/node-esm/src/api/errors.d.ts +1 -0
  53. package/dist/node-esm/src/core/errors.d.ts +2 -1
  54. package/dist/node-esm/src/core/strategies/email.d.ts +5 -1
  55. package/dist/node-esm/src/core/strategies/email_and_password.d.ts +5 -1
  56. package/dist/node-esm/src/core/user/account_info.d.ts +3 -0
  57. package/dist/node-esm/{totp-d54b05d9.js → totp-668ca5f4.js} +25 -10
  58. package/dist/node-esm/totp-668ca5f4.js.map +1 -0
  59. package/dist/rn/{index-afa362da.js → index-4059ee6a.js} +23 -8
  60. package/dist/rn/index-4059ee6a.js.map +1 -0
  61. package/dist/rn/index.js +1 -1
  62. package/dist/rn/internal.js +1 -1
  63. package/dist/rn/src/api/errors.d.ts +1 -0
  64. package/dist/rn/src/core/errors.d.ts +2 -1
  65. package/dist/rn/src/core/strategies/email.d.ts +5 -1
  66. package/dist/rn/src/core/strategies/email_and_password.d.ts +5 -1
  67. package/dist/rn/src/core/user/account_info.d.ts +3 -0
  68. package/dist/src/api/errors.d.ts +1 -0
  69. package/dist/src/core/errors.d.ts +2 -1
  70. package/dist/src/core/strategies/email.d.ts +5 -1
  71. package/dist/src/core/strategies/email_and_password.d.ts +5 -1
  72. package/dist/src/core/user/account_info.d.ts +3 -0
  73. package/package.json +2 -2
  74. package/dist/browser-cjs/index-3d1ff45e.js.map +0 -1
  75. package/dist/cordova/popup_redirect-73b8b0b9.js.map +0 -1
  76. package/dist/esm2017/index-61e5ac61.js.map +0 -1
  77. package/dist/esm5/index-22a88599.js.map +0 -1
  78. package/dist/node/totp-d9065ba0.js.map +0 -1
  79. package/dist/node-esm/totp-d54b05d9.js.map +0 -1
  80. package/dist/rn/index-afa362da.js.map +0 -1
@@ -1,8 +1,8 @@
1
- export { A as ActionCodeOperation, ai as ActionCodeURL, L as AuthCredential, I as AuthErrorCodes, M as EmailAuthCredential, V as EmailAuthProvider, W as FacebookAuthProvider, F as FactorId, Y as GithubAuthProvider, X as GoogleAuthProvider, N as OAuthCredential, Z as OAuthProvider, O as OperationType, Q as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, _ as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, $ as TwitterAuthProvider, a7 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a8 as checkActionCode, a6 as confirmPasswordReset, K as connectAuthEmulator, aa as createUserWithEmailAndPassword, G as debugErrorMap, E as deleteUser, af as fetchSignInMethodsForEmail, aq as getAdditionalUserInfo, o as getAuth, an as getIdToken, ao as getIdTokenResult, as as getMultiFactorResolver, j as getRedirectResult, U as inMemoryPersistence, i as indexedDBLocalPersistence, J as initializeAuth, t as initializeRecaptchaConfig, ad as isSignInWithEmailLink, a2 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, at as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, aj as parseActionCodeURL, H as prodErrorMap, a3 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ar as reload, D as revokeAccessToken, ag as sendEmailVerification, a5 as sendPasswordResetEmail, ac as sendSignInLinkToEmail, q as setPersistence, a0 as signInAnonymously, a1 as signInWithCredential, a4 as signInWithCustomToken, ab as signInWithEmailAndPassword, ae as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ap as unlink, B as updateCurrentUser, al as updateEmail, am as updatePassword, u as updatePhoneNumber, ak as updateProfile, z as useDeviceLanguage, v as validatePassword, ah as verifyBeforeUpdateEmail, a9 as verifyPasswordResetCode } from './totp-d54b05d9.js';
1
+ export { A as ActionCodeOperation, ai as ActionCodeURL, L as AuthCredential, I as AuthErrorCodes, M as EmailAuthCredential, V as EmailAuthProvider, W as FacebookAuthProvider, F as FactorId, Y as GithubAuthProvider, X as GoogleAuthProvider, N as OAuthCredential, Z as OAuthProvider, O as OperationType, Q as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, _ as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, $ as TwitterAuthProvider, a7 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a8 as checkActionCode, a6 as confirmPasswordReset, K as connectAuthEmulator, aa as createUserWithEmailAndPassword, G as debugErrorMap, E as deleteUser, af as fetchSignInMethodsForEmail, aq as getAdditionalUserInfo, o as getAuth, an as getIdToken, ao as getIdTokenResult, as as getMultiFactorResolver, j as getRedirectResult, U as inMemoryPersistence, i as indexedDBLocalPersistence, J as initializeAuth, t as initializeRecaptchaConfig, ad as isSignInWithEmailLink, a2 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, at as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, aj as parseActionCodeURL, H as prodErrorMap, a3 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ar as reload, D as revokeAccessToken, ag as sendEmailVerification, a5 as sendPasswordResetEmail, ac as sendSignInLinkToEmail, q as setPersistence, a0 as signInAnonymously, a1 as signInWithCredential, a4 as signInWithCustomToken, ab as signInWithEmailAndPassword, ae as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ap as unlink, B as updateCurrentUser, al as updateEmail, am as updatePassword, u as updatePhoneNumber, ak as updateProfile, z as useDeviceLanguage, v as validatePassword, ah as verifyBeforeUpdateEmail, a9 as verifyPasswordResetCode } from './totp-668ca5f4.js';
2
2
  import '@firebase/util';
3
3
  import '@firebase/app';
4
4
  import 'tslib';
5
5
  import '@firebase/component';
6
- import 'node-fetch';
6
+ import 'undici';
7
7
  import '@firebase/logger';
8
8
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
- import { au as _getInstance, av as _assert, aw as _signInWithCredential, ax as _reauthenticate, ay as _link$1, L as AuthCredential, az as signInWithIdp, aA as _fail, aB as debugAssert, aC as _persistenceKeyName, aD as _castAuth, aE as FederatedAuthProvider, aF as BaseOAuthProvider, aG as _emulatorUrl, aH as _performApiRequest, aI as _isIOS, aJ as _isAndroid, aK as _isIOS7Or8, aL as _createError, aM as _isIframe, aN as _isMobileBrowser, aO as _isIE10, aP as _isSafari } from './totp-d54b05d9.js';
2
- export { A as ActionCodeOperation, ai as ActionCodeURL, L as AuthCredential, I as AuthErrorCodes, aR as AuthImpl, M as EmailAuthCredential, V as EmailAuthProvider, W as FacebookAuthProvider, F as FactorId, aT as FetchProvider, Y as GithubAuthProvider, X as GoogleAuthProvider, N as OAuthCredential, Z as OAuthProvider, O as OperationType, Q as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, aU as SAMLAuthCredential, _ as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, $ as TwitterAuthProvider, aQ as UserImpl, av as _assert, aD as _castAuth, aA as _fail, aS as _getClientVersion, au as _getInstance, aC as _persistenceKeyName, a7 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a8 as checkActionCode, a6 as confirmPasswordReset, K as connectAuthEmulator, aa as createUserWithEmailAndPassword, G as debugErrorMap, E as deleteUser, af as fetchSignInMethodsForEmail, aq as getAdditionalUserInfo, o as getAuth, an as getIdToken, ao as getIdTokenResult, as as getMultiFactorResolver, j as getRedirectResult, U as inMemoryPersistence, i as indexedDBLocalPersistence, J as initializeAuth, t as initializeRecaptchaConfig, ad as isSignInWithEmailLink, a2 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, at as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, aj as parseActionCodeURL, H as prodErrorMap, a3 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ar as reload, D as revokeAccessToken, ag as sendEmailVerification, a5 as sendPasswordResetEmail, ac as sendSignInLinkToEmail, q as setPersistence, a0 as signInAnonymously, a1 as signInWithCredential, a4 as signInWithCustomToken, ab as signInWithEmailAndPassword, ae as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ap as unlink, B as updateCurrentUser, al as updateEmail, am as updatePassword, u as updatePhoneNumber, ak as updateProfile, z as useDeviceLanguage, v as validatePassword, ah as verifyBeforeUpdateEmail, a9 as verifyPasswordResetCode } from './totp-d54b05d9.js';
1
+ import { au as _getInstance, av as _assert, aw as _signInWithCredential, ax as _reauthenticate, ay as _link$1, L as AuthCredential, az as signInWithIdp, aA as _fail, aB as debugAssert, aC as _persistenceKeyName, aD as _castAuth, aE as FederatedAuthProvider, aF as BaseOAuthProvider, aG as _emulatorUrl, aH as _performApiRequest, aI as _isIOS, aJ as _isAndroid, aK as _isIOS7Or8, aL as _createError, aM as _isIframe, aN as _isMobileBrowser, aO as _isIE10, aP as _isSafari } from './totp-668ca5f4.js';
2
+ export { A as ActionCodeOperation, ai as ActionCodeURL, L as AuthCredential, I as AuthErrorCodes, aR as AuthImpl, M as EmailAuthCredential, V as EmailAuthProvider, W as FacebookAuthProvider, F as FactorId, aT as FetchProvider, Y as GithubAuthProvider, X as GoogleAuthProvider, N as OAuthCredential, Z as OAuthProvider, O as OperationType, Q as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, p as ProviderId, R as RecaptchaVerifier, aU as SAMLAuthCredential, _ as SAMLAuthProvider, S as SignInMethod, T as TotpMultiFactorGenerator, n as TotpSecret, $ as TwitterAuthProvider, aQ as UserImpl, av as _assert, aD as _castAuth, aA as _fail, aS as _getClientVersion, au as _getInstance, aC as _persistenceKeyName, a7 as applyActionCode, x as beforeAuthStateChanged, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a8 as checkActionCode, a6 as confirmPasswordReset, K as connectAuthEmulator, aa as createUserWithEmailAndPassword, G as debugErrorMap, E as deleteUser, af as fetchSignInMethodsForEmail, aq as getAdditionalUserInfo, o as getAuth, an as getIdToken, ao as getIdTokenResult, as as getMultiFactorResolver, j as getRedirectResult, U as inMemoryPersistence, i as indexedDBLocalPersistence, J as initializeAuth, t as initializeRecaptchaConfig, ad as isSignInWithEmailLink, a2 as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, at as multiFactor, y as onAuthStateChanged, w as onIdTokenChanged, aj as parseActionCodeURL, H as prodErrorMap, a3 as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, ar as reload, D as revokeAccessToken, ag as sendEmailVerification, a5 as sendPasswordResetEmail, ac as sendSignInLinkToEmail, q as setPersistence, a0 as signInAnonymously, a1 as signInWithCredential, a4 as signInWithCustomToken, ab as signInWithEmailAndPassword, ae as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, C as signOut, ap as unlink, B as updateCurrentUser, al as updateEmail, am as updatePassword, u as updatePhoneNumber, ak as updateProfile, z as useDeviceLanguage, v as validatePassword, ah as verifyBeforeUpdateEmail, a9 as verifyPasswordResetCode } from './totp-668ca5f4.js';
3
3
  import { isEmpty, querystring, getUA, querystringDecode } from '@firebase/util';
4
4
  import 'tslib';
5
5
  import { SDK_VERSION } from '@firebase/app';
6
6
  import '@firebase/component';
7
- import 'node-fetch';
7
+ import 'undici';
8
8
  import '@firebase/logger';
9
9
 
10
10
  /**
@@ -42,6 +42,7 @@ export declare const enum ServerError {
42
42
  INVALID_ID_TOKEN = "INVALID_ID_TOKEN",
43
43
  INVALID_IDP_RESPONSE = "INVALID_IDP_RESPONSE",
44
44
  INVALID_IDENTIFIER = "INVALID_IDENTIFIER",
45
+ INVALID_LOGIN_CREDENTIALS = "INVALID_LOGIN_CREDENTIALS",
45
46
  INVALID_MESSAGE_PAYLOAD = "INVALID_MESSAGE_PAYLOAD",
46
47
  INVALID_MFA_PENDING_CREDENTIAL = "INVALID_MFA_PENDING_CREDENTIAL",
47
48
  INVALID_OAUTH_CLIENT_ID = "INVALID_OAUTH_CLIENT_ID",
@@ -57,7 +57,7 @@ export declare const enum AuthErrorCode {
57
57
  INVALID_DYNAMIC_LINK_DOMAIN = "invalid-dynamic-link-domain",
58
58
  INVALID_EMAIL = "invalid-email",
59
59
  INVALID_EMULATOR_SCHEME = "invalid-emulator-scheme",
60
- INVALID_IDP_RESPONSE = "invalid-credential",
60
+ INVALID_CREDENTIAL = "invalid-credential",
61
61
  INVALID_MESSAGE_PAYLOAD = "invalid-message-payload",
62
62
  INVALID_MFA_SESSION = "invalid-multi-factor-session",
63
63
  INVALID_OAUTH_CLIENT_ID = "invalid-oauth-client-id",
@@ -250,6 +250,7 @@ export declare const AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
250
250
  readonly INVALID_EMAIL: "auth/invalid-email";
251
251
  readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
252
252
  readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
253
+ readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
253
254
  readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
254
255
  readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
255
256
  readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
@@ -16,7 +16,9 @@
16
16
  */
17
17
  import { ActionCodeSettings, Auth, User } from '../../model/public_types';
18
18
  /**
19
- * Gets the list of possible sign in methods for the given email address.
19
+ * Gets the list of possible sign in methods for the given email address. This method returns an
20
+ * empty list when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled, irrespective of the number of
21
+ * authentication methods available for the given email.
20
22
  *
21
23
  * @remarks
22
24
  * This is useful to differentiate methods of sign-in for the same provider, eg.
@@ -27,6 +29,8 @@ import { ActionCodeSettings, Auth, User } from '../../model/public_types';
27
29
  * @param auth - The {@link Auth} instance.
28
30
  * @param email - The user's email address.
29
31
  *
32
+ * Deprecated. Migrating off of this method is recommended as a security best-practice.
33
+ * Learn more in the Identity Platform documentation for [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).
30
34
  * @public
31
35
  */
32
36
  export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;
@@ -16,7 +16,9 @@
16
16
  */
17
17
  import { ActionCodeInfo, ActionCodeSettings, Auth, UserCredential } from '../../model/public_types';
18
18
  /**
19
- * Sends a password reset email to the given email address.
19
+ * Sends a password reset email to the given email address. This method does not throw an error when
20
+ * there's no user account with the given email address and
21
+ * [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled.
20
22
  *
21
23
  * @remarks
22
24
  * To complete the password reset, call {@link confirmPasswordReset} with the code supplied in
@@ -112,6 +114,8 @@ export declare function createUserWithEmailAndPassword(auth: Auth, email: string
112
114
  *
113
115
  * @remarks
114
116
  * Fails with an error if the email address and password do not match.
117
+ * When [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled,
118
+ * this method fails with "auth/invalid-credential" in case of an invalid email/password.
115
119
  *
116
120
  * Note: The user's password is NOT the password used to access the user's email account. The
117
121
  * email address serves as a unique identifier for the user, and the password is used to access
@@ -41,6 +41,9 @@ export declare function updateProfile(user: User, { displayName, photoURL: photo
41
41
  * @param user - The user.
42
42
  * @param newEmail - The new email address.
43
43
  *
44
+ * Throws "auth/operation-not-allowed" error when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled.
45
+ * Deprecated - Use {@link verifyBeforeUpdateEmail} instead.
46
+ *
44
47
  * @public
45
48
  */
46
49
  export declare function updateEmail(user: User, newEmail: string): Promise<void>;
@@ -2,7 +2,7 @@ import { ErrorFactory, isBrowserExtension, isMobileCordova, isReactNative, Fireb
2
2
  import { SDK_VERSION, _getProvider, _registerComponent, registerVersion, getApp } from '@firebase/app';
3
3
  import { __rest } from 'tslib';
4
4
  import { Component } from '@firebase/component';
5
- import * as fetchImpl from 'node-fetch';
5
+ import { fetch as fetch$1, Headers as Headers$1, Response as Response$1 } from 'undici';
6
6
  import { Logger, LogLevel } from '@firebase/logger';
7
7
 
8
8
  /**
@@ -175,7 +175,7 @@ function _debugErrorMap() {
175
175
  ["invalid-emulator-scheme" /* AuthErrorCode.INVALID_EMULATOR_SCHEME */]: 'Emulator URL must start with a valid scheme (http:// or https://).',
176
176
  ["invalid-api-key" /* AuthErrorCode.INVALID_API_KEY */]: 'Your API key is invalid, please check you have copied it correctly.',
177
177
  ["invalid-cert-hash" /* AuthErrorCode.INVALID_CERT_HASH */]: 'The SHA-1 certificate hash provided is invalid.',
178
- ["invalid-credential" /* AuthErrorCode.INVALID_IDP_RESPONSE */]: 'The supplied auth credential is malformed or has expired.',
178
+ ["invalid-credential" /* AuthErrorCode.INVALID_CREDENTIAL */]: 'The supplied auth credential is incorrect, malformed or has expired.',
179
179
  ["invalid-message-payload" /* AuthErrorCode.INVALID_MESSAGE_PAYLOAD */]: 'The email template corresponding to this action contains invalid characters in its message. ' +
180
180
  'Please fix by going to the Auth email templates section in the Firebase Console.',
181
181
  ["invalid-multi-factor-session" /* AuthErrorCode.INVALID_MFA_SESSION */]: 'The request does not contain a valid proof of first factor successful sign-in.',
@@ -351,6 +351,7 @@ const AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY = {
351
351
  INVALID_EMAIL: 'auth/invalid-email',
352
352
  INVALID_EMULATOR_SCHEME: 'auth/invalid-emulator-scheme',
353
353
  INVALID_IDP_RESPONSE: 'auth/invalid-credential',
354
+ INVALID_LOGIN_CREDENTIALS: 'auth/invalid-credential',
354
355
  INVALID_MESSAGE_PAYLOAD: 'auth/invalid-message-payload',
355
356
  INVALID_MFA_SESSION: 'auth/invalid-multi-factor-session',
356
357
  INVALID_OAUTH_CLIENT_ID: 'auth/invalid-oauth-client-id',
@@ -775,12 +776,15 @@ const SERVER_ERROR_MAP = {
775
776
  ["INVALID_PASSWORD" /* ServerError.INVALID_PASSWORD */]: "wrong-password" /* AuthErrorCode.INVALID_PASSWORD */,
776
777
  // This can only happen if the SDK sends a bad request.
777
778
  ["MISSING_PASSWORD" /* ServerError.MISSING_PASSWORD */]: "missing-password" /* AuthErrorCode.MISSING_PASSWORD */,
779
+ // Thrown if Email Enumeration Protection is enabled in the project and the email or password is
780
+ // invalid.
781
+ ["INVALID_LOGIN_CREDENTIALS" /* ServerError.INVALID_LOGIN_CREDENTIALS */]: "invalid-credential" /* AuthErrorCode.INVALID_CREDENTIAL */,
778
782
  // Sign up with email and password errors.
779
783
  ["EMAIL_EXISTS" /* ServerError.EMAIL_EXISTS */]: "email-already-in-use" /* AuthErrorCode.EMAIL_EXISTS */,
780
784
  ["PASSWORD_LOGIN_DISABLED" /* ServerError.PASSWORD_LOGIN_DISABLED */]: "operation-not-allowed" /* AuthErrorCode.OPERATION_NOT_ALLOWED */,
781
785
  // Verify assertion for sign in with credential errors:
782
- ["INVALID_IDP_RESPONSE" /* ServerError.INVALID_IDP_RESPONSE */]: "invalid-credential" /* AuthErrorCode.INVALID_IDP_RESPONSE */,
783
- ["INVALID_PENDING_TOKEN" /* ServerError.INVALID_PENDING_TOKEN */]: "invalid-credential" /* AuthErrorCode.INVALID_IDP_RESPONSE */,
786
+ ["INVALID_IDP_RESPONSE" /* ServerError.INVALID_IDP_RESPONSE */]: "invalid-credential" /* AuthErrorCode.INVALID_CREDENTIAL */,
787
+ ["INVALID_PENDING_TOKEN" /* ServerError.INVALID_PENDING_TOKEN */]: "invalid-credential" /* AuthErrorCode.INVALID_CREDENTIAL */,
784
788
  ["FEDERATED_USER_ID_ALREADY_LINKED" /* ServerError.FEDERATED_USER_ID_ALREADY_LINKED */]: "credential-already-in-use" /* AuthErrorCode.CREDENTIAL_ALREADY_IN_USE */,
785
789
  // This can only happen if the SDK sends a bad request.
786
790
  ["MISSING_REQ_TYPE" /* ServerError.MISSING_REQ_TYPE */]: "internal-error" /* AuthErrorCode.INTERNAL_ERROR */,
@@ -802,7 +806,7 @@ const SERVER_ERROR_MAP = {
802
806
  // Phone Auth related errors.
803
807
  ["INVALID_CODE" /* ServerError.INVALID_CODE */]: "invalid-verification-code" /* AuthErrorCode.INVALID_CODE */,
804
808
  ["INVALID_SESSION_INFO" /* ServerError.INVALID_SESSION_INFO */]: "invalid-verification-id" /* AuthErrorCode.INVALID_SESSION_INFO */,
805
- ["INVALID_TEMPORARY_PROOF" /* ServerError.INVALID_TEMPORARY_PROOF */]: "invalid-credential" /* AuthErrorCode.INVALID_IDP_RESPONSE */,
809
+ ["INVALID_TEMPORARY_PROOF" /* ServerError.INVALID_TEMPORARY_PROOF */]: "invalid-credential" /* AuthErrorCode.INVALID_CREDENTIAL */,
806
810
  ["MISSING_SESSION_INFO" /* ServerError.MISSING_SESSION_INFO */]: "missing-verification-id" /* AuthErrorCode.MISSING_SESSION_INFO */,
807
811
  ["SESSION_EXPIRED" /* ServerError.SESSION_EXPIRED */]: "code-expired" /* AuthErrorCode.CODE_EXPIRED */,
808
812
  // Other action code errors when additional settings passed.
@@ -5595,7 +5599,9 @@ async function recachePasswordPolicy(auth) {
5595
5599
  }
5596
5600
  }
5597
5601
  /**
5598
- * Sends a password reset email to the given email address.
5602
+ * Sends a password reset email to the given email address. This method does not throw an error when
5603
+ * there's no user account with the given email address and
5604
+ * [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled.
5599
5605
  *
5600
5606
  * @remarks
5601
5607
  * To complete the password reset, call {@link confirmPasswordReset} with the code supplied in
@@ -5779,6 +5785,8 @@ async function createUserWithEmailAndPassword(auth, email, password) {
5779
5785
  *
5780
5786
  * @remarks
5781
5787
  * Fails with an error if the email address and password do not match.
5788
+ * When [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled,
5789
+ * this method fails with "auth/invalid-credential" in case of an invalid email/password.
5782
5790
  *
5783
5791
  * Note: The user's password is NOT the password used to access the user's email account. The
5784
5792
  * email address serves as a unique identifier for the user, and the password is used to access
@@ -5964,7 +5972,9 @@ async function createAuthUri(auth, request) {
5964
5972
  * limitations under the License.
5965
5973
  */
5966
5974
  /**
5967
- * Gets the list of possible sign in methods for the given email address.
5975
+ * Gets the list of possible sign in methods for the given email address. This method returns an
5976
+ * empty list when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled, irrespective of the number of
5977
+ * authentication methods available for the given email.
5968
5978
  *
5969
5979
  * @remarks
5970
5980
  * This is useful to differentiate methods of sign-in for the same provider, eg.
@@ -5975,6 +5985,8 @@ async function createAuthUri(auth, request) {
5975
5985
  * @param auth - The {@link Auth} instance.
5976
5986
  * @param email - The user's email address.
5977
5987
  *
5988
+ * Deprecated. Migrating off of this method is recommended as a security best-practice.
5989
+ * Learn more in the Identity Platform documentation for [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).
5978
5990
  * @public
5979
5991
  */
5980
5992
  async function fetchSignInMethodsForEmail(auth, email) {
@@ -6168,6 +6180,9 @@ async function updateProfile(user, { displayName, photoURL: photoUrl }) {
6168
6180
  * @param user - The user.
6169
6181
  * @param newEmail - The new email address.
6170
6182
  *
6183
+ * Throws "auth/operation-not-allowed" error when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) is enabled.
6184
+ * Deprecated - Use {@link verifyBeforeUpdateEmail} instead.
6185
+ *
6171
6186
  * @public
6172
6187
  */
6173
6188
  function updateEmail(user, newEmail) {
@@ -6762,7 +6777,7 @@ function multiFactor(user) {
6762
6777
  }
6763
6778
 
6764
6779
  var name = "@firebase/auth";
6765
- var version = "1.4.0";
6780
+ var version = "1.5.0-20231120214520";
6766
6781
 
6767
6782
  /**
6768
6783
  * @license
@@ -6923,7 +6938,7 @@ function registerAuth(clientPlatform) {
6923
6938
  * limitations under the License.
6924
6939
  */
6925
6940
  // Initialize the fetch polyfill, the types are slightly off so just cast and hope for the best
6926
- FetchProvider.initialize(fetchImpl.default, fetchImpl.Headers, fetchImpl.Response);
6941
+ FetchProvider.initialize(fetch$1, Headers$1, Response$1);
6927
6942
  // First, we set up the various platform-specific features for Node (register
6928
6943
  // the version and declare the Node getAuth function)
6929
6944
  function getAuth(app = getApp()) {
@@ -7172,4 +7187,4 @@ function _isEmptyString(input) {
7172
7187
  }
7173
7188
 
7174
7189
  export { TwitterAuthProvider as $, ActionCodeOperation as A, updateCurrentUser as B, signOut as C, revokeAccessToken as D, deleteUser as E, FactorId as F, debugErrorMap as G, prodErrorMap as H, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as I, initializeAuth as J, connectAuthEmulator as K, AuthCredential as L, EmailAuthCredential as M, OAuthCredential as N, OperationType as O, PhoneAuthProvider as P, PhoneAuthCredential as Q, RecaptchaVerifier as R, SignInMethod as S, TotpMultiFactorGenerator as T, inMemoryPersistence as U, EmailAuthProvider as V, FacebookAuthProvider as W, GoogleAuthProvider as X, GithubAuthProvider as Y, OAuthProvider as Z, SAMLAuthProvider as _, browserSessionPersistence as a, signInAnonymously as a0, signInWithCredential as a1, linkWithCredential as a2, reauthenticateWithCredential as a3, signInWithCustomToken as a4, sendPasswordResetEmail as a5, confirmPasswordReset as a6, applyActionCode as a7, checkActionCode as a8, verifyPasswordResetCode as a9, _fail as aA, debugAssert as aB, _persistenceKeyName as aC, _castAuth as aD, FederatedAuthProvider as aE, BaseOAuthProvider as aF, _emulatorUrl as aG, _performApiRequest as aH, _isIOS as aI, _isAndroid as aJ, _isIOS7Or8 as aK, _createError as aL, _isIframe as aM, _isMobileBrowser as aN, _isIE10 as aO, _isSafari as aP, UserImpl as aQ, AuthImpl as aR, _getClientVersion as aS, FetchProvider as aT, SAMLAuthCredential as aU, createUserWithEmailAndPassword as aa, signInWithEmailAndPassword as ab, sendSignInLinkToEmail as ac, isSignInWithEmailLink as ad, signInWithEmailLink as ae, fetchSignInMethodsForEmail as af, sendEmailVerification as ag, verifyBeforeUpdateEmail as ah, ActionCodeURL as ai, parseActionCodeURL as aj, updateProfile as ak, updateEmail as al, updatePassword as am, getIdToken as an, getIdTokenResult as ao, unlink as ap, getAdditionalUserInfo as aq, reload as ar, getMultiFactorResolver as as, multiFactor as at, _getInstance as au, _assert as av, _signInWithCredential as aw, _reauthenticate as ax, _link as ay, signInWithIdp as az, browserLocalPersistence as b, signInWithPopup as c, linkWithPopup as d, reauthenticateWithPopup as e, signInWithRedirect as f, linkWithRedirect as g, reauthenticateWithRedirect as h, indexedDBLocalPersistence as i, getRedirectResult as j, browserPopupRedirectResolver as k, linkWithPhoneNumber as l, PhoneMultiFactorGenerator as m, TotpSecret as n, getAuth as o, ProviderId as p, setPersistence as q, reauthenticateWithPhoneNumber as r, signInWithPhoneNumber as s, initializeRecaptchaConfig as t, updatePhoneNumber as u, validatePassword as v, onIdTokenChanged as w, beforeAuthStateChanged as x, onAuthStateChanged as y, useDeviceLanguage as z };
7175
- //# sourceMappingURL=totp-d54b05d9.js.map
7190
+ //# sourceMappingURL=totp-668ca5f4.js.map