@firebase/auth 0.18.3 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/auth-public.d.ts +28 -19
  3. package/dist/auth.d.ts +29 -20
  4. package/dist/cordova/index.js +2 -2
  5. package/dist/cordova/index.rn.d.ts +3 -0
  6. package/dist/cordova/internal.js +7 -3
  7. package/dist/cordova/internal.js.map +1 -1
  8. package/dist/cordova/{popup_redirect-f608cd47.js → popup_redirect-c65b3459.js} +46 -26
  9. package/dist/cordova/popup_redirect-c65b3459.js.map +1 -0
  10. package/dist/cordova/src/core/errors.d.ts +2 -2
  11. package/dist/cordova/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  12. package/dist/cordova/src/mfa/mfa_error.d.ts +4 -5
  13. package/dist/cordova/src/model/public_types.d.ts +25 -19
  14. package/dist/cordova/src/platform_browser/persistence/browser.d.ts +4 -3
  15. package/dist/cordova/src/platform_browser/persistence/browser.test.d.ts +17 -0
  16. package/dist/cordova/src/platform_browser/strategies/phone.d.ts +3 -0
  17. package/dist/cordova/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  18. package/dist/esm2017/{index-f41a0691.js → index-238d6fa9.js} +41 -24
  19. package/dist/esm2017/index-238d6fa9.js.map +1 -0
  20. package/dist/esm2017/index.js +1 -1
  21. package/dist/esm2017/index.rn.d.ts +3 -0
  22. package/dist/esm2017/internal.js +2 -2
  23. package/dist/esm2017/src/core/errors.d.ts +2 -2
  24. package/dist/esm2017/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  25. package/dist/esm2017/src/mfa/mfa_error.d.ts +4 -5
  26. package/dist/esm2017/src/model/public_types.d.ts +25 -19
  27. package/dist/esm2017/src/platform_browser/persistence/browser.d.ts +4 -3
  28. package/dist/esm2017/src/platform_browser/persistence/browser.test.d.ts +17 -0
  29. package/dist/esm2017/src/platform_browser/strategies/phone.d.ts +3 -0
  30. package/dist/esm2017/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  31. package/dist/esm5/{index-fd8b7af5.js → index-47dd1018.js} +51 -27
  32. package/dist/esm5/index-47dd1018.js.map +1 -0
  33. package/dist/esm5/index.js +1 -1
  34. package/dist/esm5/index.rn.d.ts +3 -0
  35. package/dist/esm5/internal.js +2 -2
  36. package/dist/esm5/src/core/errors.d.ts +2 -2
  37. package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  38. package/dist/esm5/src/mfa/mfa_error.d.ts +4 -5
  39. package/dist/esm5/src/model/public_types.d.ts +25 -19
  40. package/dist/esm5/src/platform_browser/persistence/browser.d.ts +4 -3
  41. package/dist/esm5/src/platform_browser/persistence/browser.test.d.ts +17 -0
  42. package/dist/esm5/src/platform_browser/strategies/phone.d.ts +3 -0
  43. package/dist/esm5/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  44. package/dist/index.rn.d.ts +3 -0
  45. package/dist/index.webworker.esm5.js +17 -16
  46. package/dist/index.webworker.esm5.js.map +1 -1
  47. package/dist/node/{index-358613ec.js → index-da4673cf.js} +18 -17
  48. package/dist/node/index-da4673cf.js.map +1 -0
  49. package/dist/node/index.js +1 -1
  50. package/dist/node/index.rn.d.ts +3 -0
  51. package/dist/node/internal.js +29 -10
  52. package/dist/node/internal.js.map +1 -1
  53. package/dist/node/src/core/errors.d.ts +2 -2
  54. package/dist/node/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  55. package/dist/node/src/mfa/mfa_error.d.ts +4 -5
  56. package/dist/node/src/model/public_types.d.ts +25 -19
  57. package/dist/node/src/platform_browser/persistence/browser.d.ts +4 -3
  58. package/dist/node/src/platform_browser/persistence/browser.test.d.ts +17 -0
  59. package/dist/node/src/platform_browser/strategies/phone.d.ts +3 -0
  60. package/dist/node/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  61. package/dist/rn/index.js +70 -64
  62. package/dist/rn/index.js.map +1 -1
  63. package/dist/rn/index.rn.d.ts +3 -0
  64. package/dist/rn/internal.js +338 -1465
  65. package/dist/rn/internal.js.map +1 -1
  66. package/dist/rn/{enum_maps-81db3ff6.js → phone-e3d3bcce.js} +1187 -27
  67. package/dist/rn/phone-e3d3bcce.js.map +1 -0
  68. package/dist/rn/src/core/errors.d.ts +2 -2
  69. package/dist/rn/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  70. package/dist/rn/src/mfa/mfa_error.d.ts +4 -5
  71. package/dist/rn/src/model/public_types.d.ts +25 -19
  72. package/dist/rn/src/platform_browser/persistence/browser.d.ts +4 -3
  73. package/dist/rn/src/platform_browser/persistence/browser.test.d.ts +17 -0
  74. package/dist/rn/src/platform_browser/strategies/phone.d.ts +3 -0
  75. package/dist/rn/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  76. package/dist/src/core/errors.d.ts +2 -2
  77. package/dist/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  78. package/dist/src/mfa/mfa_error.d.ts +4 -5
  79. package/dist/src/model/public_types.d.ts +25 -19
  80. package/dist/src/platform_browser/persistence/browser.d.ts +4 -3
  81. package/dist/src/platform_browser/persistence/browser.test.d.ts +17 -0
  82. package/dist/src/platform_browser/strategies/phone.d.ts +3 -0
  83. package/dist/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  84. package/package.json +2 -2
  85. package/dist/cordova/popup_redirect-f608cd47.js.map +0 -1
  86. package/dist/esm2017/index-f41a0691.js.map +0 -1
  87. package/dist/esm5/index-fd8b7af5.js.map +0 -1
  88. package/dist/node/index-358613ec.js.map +0 -1
  89. package/dist/rn/enum_maps-81db3ff6.js.map +0 -1
@@ -147,7 +147,7 @@ export interface NamedErrorParams {
147
147
  phoneNumber?: string;
148
148
  tenantId?: string;
149
149
  user?: User;
150
- serverResponse?: object;
150
+ _serverResponse?: object;
151
151
  }
152
152
  /**
153
153
  * @internal
@@ -180,7 +180,7 @@ export interface AuthErrorParams extends GenericAuthErrorParams {
180
180
  };
181
181
  [AuthErrorCode.MFA_REQUIRED]: {
182
182
  appName: AppName;
183
- serverResponse: IdTokenMfaResponse;
183
+ _serverResponse: IdTokenMfaResponse;
184
184
  };
185
185
  [AuthErrorCode.INVALID_CORDOVA_CONFIGURATION]: {
186
186
  appName: AppName;
@@ -26,7 +26,7 @@ export declare abstract class AbstractPopupRedirectOperation implements AuthEven
26
26
  protected readonly auth: AuthInternal;
27
27
  protected readonly resolver: PopupRedirectResolverInternal;
28
28
  protected user?: UserInternal | undefined;
29
- private readonly bypassAuthState;
29
+ protected readonly bypassAuthState: boolean;
30
30
  private pendingPromise;
31
31
  private eventManager;
32
32
  readonly filter: AuthEventType[];
@@ -22,14 +22,13 @@ import { UserInternal } from '../model/user';
22
22
  import { AuthCredential } from '../core/credentials';
23
23
  import { IdTokenMfaResponse } from '../api/authentication/mfa';
24
24
  import { OperationType } from '../model/enums';
25
+ export declare type MultiFactorErrorData = MultiFactorErrorPublic['customData'] & {
26
+ _serverResponse: IdTokenMfaResponse;
27
+ };
25
28
  export declare class MultiFactorError extends FirebaseError implements MultiFactorErrorPublic {
26
29
  readonly operationType: OperationType;
27
30
  readonly user?: UserInternal | undefined;
28
- readonly name = "FirebaseError";
29
- readonly code: string;
30
- readonly appName: string;
31
- readonly serverResponse: IdTokenMfaResponse;
32
- readonly tenantId?: string;
31
+ readonly customData: MultiFactorErrorData;
33
32
  private constructor();
34
33
  static _fromErrorAndOperation(auth: AuthInternal, error: FirebaseError, operationType: OperationType, user?: UserInternal): MultiFactorError;
35
34
  }
@@ -101,21 +101,24 @@ export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;
101
101
  * @public
102
102
  */
103
103
  export interface AuthError extends FirebaseError {
104
- /** The name of the Firebase App which triggered this error. */
105
- readonly appName: string;
106
- /** The email of the user's account, used for sign-in/linking. */
107
- readonly email?: string;
108
- /** The phone number of the user's account, used for sign-in/linking. */
109
- readonly phoneNumber?: string;
110
- /**
111
- * The tenant ID being used for sign-in/linking.
112
- *
113
- * @remarks
114
- * If you use {@link signInWithRedirect} to sign in,
115
- * you have to set the tenant ID on {@link Auth} instance again as the tenant ID is not persisted
116
- * after redirection.
117
- */
118
- readonly tenantid?: string;
104
+ /** Details about the Firebase Auth error. */
105
+ readonly customData: {
106
+ /** The name of the Firebase App which triggered this error. */
107
+ readonly appName: string;
108
+ /** The email address of the user's account, used for sign-in and linking. */
109
+ readonly email?: string;
110
+ /** The phone number of the user's account, used for sign-in and linking. */
111
+ readonly phoneNumber?: string;
112
+ /**
113
+ * The tenant ID being used for sign-in and linking.
114
+ *
115
+ * @remarks
116
+ * If you use {@link signInWithRedirect} to sign in,
117
+ * you have to set the tenant ID on the {@link Auth} instance again as the tenant ID is not persisted
118
+ * after redirection.
119
+ */
120
+ readonly tenantId?: string;
121
+ };
119
122
  }
120
123
  /**
121
124
  * Interface representing an {@link Auth} instance's settings.
@@ -559,10 +562,13 @@ export interface MultiFactorAssertion {
559
562
  * @public
560
563
  */
561
564
  export interface MultiFactorError extends AuthError {
562
- /**
563
- * The type of operation (e.g., sign-in, link, or reauthenticate) during which the error was raised.
564
- */
565
- readonly operationType: typeof OperationTypeMap[keyof typeof OperationTypeMap];
565
+ /** Details about the MultiFactorError. */
566
+ readonly customData: AuthError['customData'] & {
567
+ /**
568
+ * The type of operation (sign-in, linking, or re-authentication) that raised the error.
569
+ */
570
+ readonly operationType: typeof OperationTypeMap[keyof typeof OperationTypeMap];
571
+ };
566
572
  }
567
573
  /**
568
574
  * A structure containing the information of a second factor entity.
@@ -16,11 +16,12 @@
16
16
  */
17
17
  import { PersistenceValue, PersistenceType } from '../../core/persistence';
18
18
  export declare abstract class BrowserPersistenceClass {
19
- protected readonly storage: Storage;
19
+ protected readonly storageRetriever: () => Storage;
20
20
  readonly type: PersistenceType;
21
- protected constructor(storage: Storage, type: PersistenceType);
22
- _isAvailable(this: BrowserPersistenceClass): Promise<boolean>;
21
+ protected constructor(storageRetriever: () => Storage, type: PersistenceType);
22
+ _isAvailable(): Promise<boolean>;
23
23
  _set(key: string, value: PersistenceValue): Promise<void>;
24
24
  _get<T extends PersistenceValue>(key: string): Promise<T | null>;
25
25
  _remove(key: string): Promise<void>;
26
+ protected get storage(): Storage;
26
27
  }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 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 {};
@@ -29,6 +29,9 @@ import { AuthInternal } from '../../model/auth';
29
29
  *
30
30
  * For abuse prevention, this method also requires a {@link ApplicationVerifier}.
31
31
  * This SDK includes a reCAPTCHA-based implementation, {@link RecaptchaVerifier}.
32
+ * This function can work on other platforms that do not support the
33
+ * {@link RecaptchaVerifier} (like React Native), but you need to use a
34
+ * third-party {@link ApplicationVerifier} implementation.
32
35
  *
33
36
  * @example
34
37
  * ```javascript
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 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 { PersistenceInternal, PersistenceType, PersistenceValue } from '../../src/core/persistence';
18
+ /**
19
+ * Helper class for mocking completely broken persistence that errors when
20
+ * accessed.
21
+ *
22
+ * When disabling cookies in Chrome entirely, for example, simply reading the
23
+ * "localStorage" field in "window" will throw an error, but this can't be
24
+ * checked for by calling `'localStorage' in window`. This class simulates a
25
+ * situation where _isAvailable works correctly but all other methods fail.
26
+ */
27
+ export declare class ErroringUnavailablePersistence implements PersistenceInternal {
28
+ type: PersistenceType;
29
+ _isAvailable(): Promise<boolean>;
30
+ _set(): Promise<void>;
31
+ _get<T extends PersistenceValue>(): Promise<T | null>;
32
+ _remove(): Promise<void>;
33
+ _addListener(): void;
34
+ _removeListener(): void;
35
+ _shouldAllowMigration: boolean;
36
+ }
@@ -985,7 +985,7 @@ async function _performSignInRequest(auth, method, path, request, customErrorMap
985
985
  const serverResponse = (await _performApiRequest(auth, method, path, request, customErrorMap));
986
986
  if ('mfaPendingCredential' in serverResponse) {
987
987
  _fail(auth, "multi-factor-auth-required" /* MFA_REQUIRED */, {
988
- serverResponse
988
+ _serverResponse: serverResponse
989
989
  });
990
990
  }
991
991
  return serverResponse;
@@ -4420,14 +4420,14 @@ class MultiFactorError extends FirebaseError {
4420
4420
  super(error.code, error.message);
4421
4421
  this.operationType = operationType;
4422
4422
  this.user = user;
4423
- this.name = 'FirebaseError';
4424
4423
  // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
4425
4424
  Object.setPrototypeOf(this, MultiFactorError.prototype);
4426
- this.appName = auth.name;
4427
- this.code = error.code;
4428
- this.tenantId = (_a = auth.tenantId) !== null && _a !== void 0 ? _a : undefined;
4429
- this.serverResponse = error.customData
4430
- .serverResponse;
4425
+ this.customData = {
4426
+ appName: auth.name,
4427
+ tenantId: (_a = auth.tenantId) !== null && _a !== void 0 ? _a : undefined,
4428
+ _serverResponse: error.customData._serverResponse,
4429
+ operationType,
4430
+ };
4431
4431
  }
4432
4432
  static _fromErrorAndOperation(auth, error, operationType, user) {
4433
4433
  return new MultiFactorError(auth, error, operationType, user);
@@ -5676,16 +5676,17 @@ class MultiFactorResolverImpl {
5676
5676
  /** @internal */
5677
5677
  static _fromError(authExtern, error) {
5678
5678
  const auth = _castAuth(authExtern);
5679
- const hints = (error.serverResponse.mfaInfo || []).map(enrollment => MultiFactorInfoImpl._fromServerResponse(auth, enrollment));
5680
- _assert(error.serverResponse.mfaPendingCredential, auth, "internal-error" /* INTERNAL_ERROR */);
5681
- const session = MultiFactorSessionImpl._fromMfaPendingCredential(error.serverResponse.mfaPendingCredential);
5679
+ const serverResponse = error.customData._serverResponse;
5680
+ const hints = (serverResponse.mfaInfo || []).map(enrollment => MultiFactorInfoImpl._fromServerResponse(auth, enrollment));
5681
+ _assert(serverResponse.mfaPendingCredential, auth, "internal-error" /* INTERNAL_ERROR */);
5682
+ const session = MultiFactorSessionImpl._fromMfaPendingCredential(serverResponse.mfaPendingCredential);
5682
5683
  return new MultiFactorResolverImpl(session, hints, async (assertion) => {
5683
5684
  const mfaResponse = await assertion._process(auth, session);
5684
5685
  // Clear out the unneeded fields from the old login response
5685
- delete error.serverResponse.mfaInfo;
5686
- delete error.serverResponse.mfaPendingCredential;
5686
+ delete serverResponse.mfaInfo;
5687
+ delete serverResponse.mfaPendingCredential;
5687
5688
  // Use in the new token & refresh token in the old response
5688
- const idTokenResponse = Object.assign(Object.assign({}, error.serverResponse), { idToken: mfaResponse.idToken, refreshToken: mfaResponse.refreshToken });
5689
+ const idTokenResponse = Object.assign(Object.assign({}, serverResponse), { idToken: mfaResponse.idToken, refreshToken: mfaResponse.refreshToken });
5689
5690
  // TODO: we should collapse this switch statement into UserCredentialImpl._forOperation and have it support the SIGN_IN case
5690
5691
  switch (error.operationType) {
5691
5692
  case "signIn" /* SIGN_IN */:
@@ -5719,8 +5720,8 @@ function getMultiFactorResolver(auth, error) {
5719
5720
  var _a;
5720
5721
  const authModular = getModularInstance(auth);
5721
5722
  const errorInternal = error;
5722
- _assert(error.operationType, authModular, "argument-error" /* ARGUMENT_ERROR */);
5723
- _assert((_a = errorInternal.serverResponse) === null || _a === void 0 ? void 0 : _a.mfaPendingCredential, authModular, "argument-error" /* ARGUMENT_ERROR */);
5723
+ _assert(error.customData.operationType, authModular, "argument-error" /* ARGUMENT_ERROR */);
5724
+ _assert((_a = errorInternal.customData._serverResponse) === null || _a === void 0 ? void 0 : _a.mfaPendingCredential, authModular, "argument-error" /* ARGUMENT_ERROR */);
5724
5725
  return MultiFactorResolverImpl._fromError(authModular, errorInternal);
5725
5726
  }
5726
5727
 
@@ -5843,8 +5844,8 @@ const STORAGE_AVAILABLE_KEY = '__sak';
5843
5844
  // Both have the same implementation but use a different underlying storage
5844
5845
  // object.
5845
5846
  class BrowserPersistenceClass {
5846
- constructor(storage, type) {
5847
- this.storage = storage;
5847
+ constructor(storageRetriever, type) {
5848
+ this.storageRetriever = storageRetriever;
5848
5849
  this.type = type;
5849
5850
  }
5850
5851
  _isAvailable() {
@@ -5872,6 +5873,9 @@ class BrowserPersistenceClass {
5872
5873
  this.storage.removeItem(key);
5873
5874
  return Promise.resolve();
5874
5875
  }
5876
+ get storage() {
5877
+ return this.storageRetriever();
5878
+ }
5875
5879
  }
5876
5880
 
5877
5881
  /**
@@ -5900,7 +5904,7 @@ const _POLLING_INTERVAL_MS$1 = 1000;
5900
5904
  const IE10_LOCAL_STORAGE_SYNC_DELAY = 10;
5901
5905
  class BrowserLocalPersistence extends BrowserPersistenceClass {
5902
5906
  constructor() {
5903
- super(window.localStorage, "LOCAL" /* LOCAL */);
5907
+ super(() => window.localStorage, "LOCAL" /* LOCAL */);
5904
5908
  this.boundEventHandler = (event, poll) => this.onStorageEvent(event, poll);
5905
5909
  this.listeners = {};
5906
5910
  this.localCache = {};
@@ -6101,7 +6105,7 @@ const browserLocalPersistence = BrowserLocalPersistence;
6101
6105
  */
6102
6106
  class BrowserSessionPersistence extends BrowserPersistenceClass {
6103
6107
  constructor() {
6104
- super(window.sessionStorage, "SESSION" /* SESSION */);
6108
+ super(() => window.sessionStorage, "SESSION" /* SESSION */);
6105
6109
  }
6106
6110
  _addListener(_key, _listener) {
6107
6111
  // Listeners are not supported for session storage since it cannot be shared across windows
@@ -7382,6 +7386,9 @@ class ConfirmationResultImpl {
7382
7386
  *
7383
7387
  * For abuse prevention, this method also requires a {@link ApplicationVerifier}.
7384
7388
  * This SDK includes a reCAPTCHA-based implementation, {@link RecaptchaVerifier}.
7389
+ * This function can work on other platforms that do not support the
7390
+ * {@link RecaptchaVerifier} (like React Native), but you need to use a
7391
+ * third-party {@link ApplicationVerifier} implementation.
7385
7392
  *
7386
7393
  * @example
7387
7394
  * ```javascript
@@ -8120,6 +8127,11 @@ class RedirectAction extends AbstractPopupRedirectOperation {
8120
8127
  }
8121
8128
  redirectOutcomeMap.set(this.auth._key(), readyOutcome);
8122
8129
  }
8130
+ // If we're not bypassing auth state, the ready outcome should be set to
8131
+ // null.
8132
+ if (!this.bypassAuthState) {
8133
+ redirectOutcomeMap.set(this.auth._key(), () => Promise.resolve(null));
8134
+ }
8123
8135
  return readyOutcome();
8124
8136
  }
8125
8137
  async onAuthEvent(event) {
@@ -8147,8 +8159,12 @@ class RedirectAction extends AbstractPopupRedirectOperation {
8147
8159
  }
8148
8160
  async function _getAndClearPendingRedirectStatus(resolver, auth) {
8149
8161
  const key = pendingRedirectKey(auth);
8150
- const hasPendingRedirect = (await resolverPersistence(resolver)._get(key)) === 'true';
8151
- await resolverPersistence(resolver)._remove(key);
8162
+ const persistence = resolverPersistence(resolver);
8163
+ if (!(await persistence._isAvailable())) {
8164
+ return false;
8165
+ }
8166
+ const hasPendingRedirect = (await persistence._get(key)) === 'true';
8167
+ await persistence._remove(key);
8152
8168
  return hasPendingRedirect;
8153
8169
  }
8154
8170
  async function _setPendingRedirectStatus(resolver, auth) {
@@ -8707,7 +8723,8 @@ const IFRAME_ATTRIBUTES = {
8707
8723
  top: '-100px',
8708
8724
  width: '1px',
8709
8725
  height: '1px'
8710
- }
8726
+ },
8727
+ 'aria-hidden': 'true'
8711
8728
  };
8712
8729
  // Map from apiHost to endpoint ID for passing into iframe. In current SDK, apiHost can be set to
8713
8730
  // anything (not from a list of endpoints with IDs as in legacy), so this is the closest we can get.
@@ -9103,7 +9120,7 @@ class PhoneMultiFactorGenerator {
9103
9120
  PhoneMultiFactorGenerator.FACTOR_ID = 'phone';
9104
9121
 
9105
9122
  var name = "@firebase/auth";
9106
- var version = "0.18.3";
9123
+ var version = "0.19.0";
9107
9124
 
9108
9125
  /**
9109
9126
  * @license
@@ -9293,4 +9310,4 @@ function getAuth(app = getApp()) {
9293
9310
  registerAuth("Browser" /* BROWSER */);
9294
9311
 
9295
9312
  export { sendPasswordResetEmail as $, ActionCodeOperation as A, prodErrorMap as B, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as C, initializeAuth as D, connectAuthEmulator as E, FactorId as F, AuthCredential as G, EmailAuthCredential as H, OAuthCredential as I, PhoneAuthCredential as J, inMemoryPersistence as K, EmailAuthProvider as L, FacebookAuthProvider as M, GoogleAuthProvider as N, OperationType as O, PhoneAuthProvider as P, GithubAuthProvider as Q, RecaptchaVerifier as R, SignInMethod as S, OAuthProvider as T, SAMLAuthProvider as U, TwitterAuthProvider as V, signInAnonymously as W, signInWithCredential as X, linkWithCredential as Y, reauthenticateWithCredential as Z, signInWithCustomToken as _, browserSessionPersistence as a, confirmPasswordReset as a0, applyActionCode as a1, checkActionCode as a2, verifyPasswordResetCode as a3, createUserWithEmailAndPassword as a4, signInWithEmailAndPassword as a5, sendSignInLinkToEmail as a6, isSignInWithEmailLink as a7, signInWithEmailLink as a8, fetchSignInMethodsForEmail as a9, _getRedirectResult as aA, _clearRedirectOutcomes as aB, _castAuth as aC, UserImpl as aD, AuthImpl as aE, _getClientVersion as aF, _generateEventId as aG, AuthPopup as aH, FetchProvider as aI, SAMLAuthCredential as aJ, sendEmailVerification as aa, verifyBeforeUpdateEmail as ab, ActionCodeURL as ac, parseActionCodeURL as ad, updateProfile as ae, updateEmail as af, updatePassword as ag, getIdToken as ah, getIdTokenResult as ai, unlink as aj, getAdditionalUserInfo as ak, reload as al, getMultiFactorResolver as am, multiFactor as an, _isIOS7Or8 as ao, debugAssert as ap, _isIOS as aq, _isAndroid as ar, _fail as as, _getRedirectUrl as at, _getProjectConfig as au, _createError as av, _assert as aw, _getInstance as ax, _persistenceKeyName as ay, AuthEventManager 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, getAuth as n, ProviderId as o, setPersistence as p, onIdTokenChanged as q, reauthenticateWithPhoneNumber as r, signInWithPhoneNumber as s, onAuthStateChanged as t, updatePhoneNumber as u, useDeviceLanguage as v, updateCurrentUser as w, signOut as x, deleteUser as y, debugErrorMap as z };
9296
- //# sourceMappingURL=index-f41a0691.js.map
9313
+ //# sourceMappingURL=index-238d6fa9.js.map