@firebase/auth 1.9.1 → 1.10.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.
- package/dist/auth-public.d.ts +28 -1
- package/dist/auth.d.ts +40 -2
- package/dist/browser-cjs/{index-018c7ebd.js → index-eddc1dc3.js} +211 -15
- package/dist/browser-cjs/index-eddc1dc3.js.map +1 -0
- package/dist/browser-cjs/index.d.ts +2 -1
- package/dist/browser-cjs/index.js +2 -1
- package/dist/browser-cjs/index.js.map +1 -1
- package/dist/browser-cjs/internal.js +2 -1
- package/dist/browser-cjs/internal.js.map +1 -1
- package/dist/browser-cjs/src/api/index.d.ts +1 -1
- package/dist/browser-cjs/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/browser-cjs/src/core/persistence/index.d.ts +2 -1
- package/dist/browser-cjs/src/model/auth.d.ts +4 -1
- package/dist/browser-cjs/src/model/public_types.d.ts +2 -1
- package/dist/browser-cjs/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/browser-cjs/src/platform_node/index.d.ts +1 -0
- package/dist/cordova/auth-cordova-public.d.ts +26 -1
- package/dist/cordova/auth-cordova.d.ts +29 -2
- package/dist/cordova/index.d.ts +2 -1
- package/dist/cordova/index.js +2 -2
- package/dist/cordova/internal.js +147 -3
- package/dist/cordova/internal.js.map +1 -1
- package/dist/cordova/{popup_redirect-e795474a.js → popup_redirect-5323ec00.js} +66 -15
- package/dist/cordova/popup_redirect-5323ec00.js.map +1 -0
- package/dist/cordova/src/api/index.d.ts +1 -1
- package/dist/cordova/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/cordova/src/core/persistence/index.d.ts +2 -1
- package/dist/cordova/src/model/auth.d.ts +4 -1
- package/dist/cordova/src/model/public_types.d.ts +2 -1
- package/dist/cordova/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/cordova/src/platform_node/index.d.ts +1 -0
- package/dist/esm2017/{index-e84cf44d.js → index-c92d61ad.js} +211 -16
- package/dist/esm2017/index-c92d61ad.js.map +1 -0
- package/dist/esm2017/index.d.ts +2 -1
- package/dist/esm2017/index.js +1 -1
- package/dist/esm2017/internal.js +2 -2
- package/dist/esm2017/src/api/index.d.ts +1 -1
- package/dist/esm2017/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/esm2017/src/core/persistence/index.d.ts +2 -1
- package/dist/esm2017/src/model/auth.d.ts +4 -1
- package/dist/esm2017/src/model/public_types.d.ts +2 -1
- package/dist/esm2017/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/esm2017/src/platform_node/index.d.ts +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.webworker.js +65 -14
- package/dist/index.webworker.js.map +1 -1
- package/dist/node/index.d.ts +2 -1
- package/dist/node/index.js +2 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/internal.js +2 -1
- package/dist/node/internal.js.map +1 -1
- package/dist/node/src/api/index.d.ts +1 -1
- package/dist/node/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/node/src/core/persistence/index.d.ts +2 -1
- package/dist/node/src/model/auth.d.ts +4 -1
- package/dist/node/src/model/public_types.d.ts +2 -1
- package/dist/node/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/node/src/platform_node/index.d.ts +1 -0
- package/dist/node/{totp-06fa6909.js → totp-af329771.js} +68 -15
- package/dist/node/totp-af329771.js.map +1 -0
- package/dist/node-esm/index.d.ts +2 -1
- package/dist/node-esm/index.js +1 -1
- package/dist/node-esm/internal.js +2 -2
- package/dist/node-esm/internal.js.map +1 -1
- package/dist/node-esm/src/api/index.d.ts +1 -1
- package/dist/node-esm/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/node-esm/src/core/persistence/index.d.ts +2 -1
- package/dist/node-esm/src/model/auth.d.ts +4 -1
- package/dist/node-esm/src/model/public_types.d.ts +2 -1
- package/dist/node-esm/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/node-esm/src/platform_node/index.d.ts +1 -0
- package/dist/node-esm/{totp-d5ff2369.js → totp-7829abf2.js} +68 -16
- package/dist/node-esm/totp-7829abf2.js.map +1 -0
- package/dist/rn/{index-ee081591.js → index-e8d5e0fb.js} +66 -15
- package/dist/rn/index-e8d5e0fb.js.map +1 -0
- package/dist/rn/index.d.ts +2 -1
- package/dist/rn/index.js +1 -1
- package/dist/rn/internal.js +146 -1
- package/dist/rn/internal.js.map +1 -1
- package/dist/rn/src/api/index.d.ts +1 -1
- package/dist/rn/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/rn/src/core/persistence/index.d.ts +2 -1
- package/dist/rn/src/model/auth.d.ts +4 -1
- package/dist/rn/src/model/public_types.d.ts +2 -1
- package/dist/rn/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/rn/src/platform_node/index.d.ts +1 -0
- package/dist/src/api/index.d.ts +1 -1
- package/dist/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/src/core/persistence/index.d.ts +2 -1
- package/dist/src/model/auth.d.ts +4 -1
- package/dist/src/model/public_types.d.ts +2 -1
- package/dist/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/src/platform_node/index.d.ts +1 -0
- package/dist/web-extension-cjs/index.d.ts +2 -1
- package/dist/web-extension-cjs/index.js +1 -1
- package/dist/web-extension-cjs/internal.js +146 -1
- package/dist/web-extension-cjs/internal.js.map +1 -1
- package/dist/web-extension-cjs/{register-c2c7670d.js → register-b64ddc5e.js} +66 -15
- package/dist/web-extension-cjs/register-b64ddc5e.js.map +1 -0
- package/dist/web-extension-cjs/src/api/index.d.ts +1 -1
- package/dist/web-extension-cjs/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/web-extension-cjs/src/core/persistence/index.d.ts +2 -1
- package/dist/web-extension-cjs/src/model/auth.d.ts +4 -1
- package/dist/web-extension-cjs/src/model/public_types.d.ts +2 -1
- package/dist/web-extension-cjs/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/web-extension-cjs/src/platform_node/index.d.ts +1 -0
- package/dist/web-extension-esm2017/auth-web-extension-public.d.ts +26 -1
- package/dist/web-extension-esm2017/auth-web-extension.d.ts +29 -2
- package/dist/web-extension-esm2017/index.d.ts +2 -1
- package/dist/web-extension-esm2017/index.js +2 -2
- package/dist/web-extension-esm2017/internal.js +147 -3
- package/dist/web-extension-esm2017/internal.js.map +1 -1
- package/dist/web-extension-esm2017/{register-31c228e4.js → register-00522d81.js} +66 -15
- package/dist/web-extension-esm2017/register-00522d81.js.map +1 -0
- package/dist/web-extension-esm2017/src/api/index.d.ts +1 -1
- package/dist/web-extension-esm2017/src/core/auth/auth_impl.d.ts +4 -1
- package/dist/web-extension-esm2017/src/core/persistence/index.d.ts +2 -1
- package/dist/web-extension-esm2017/src/model/auth.d.ts +4 -1
- package/dist/web-extension-esm2017/src/model/public_types.d.ts +2 -1
- package/dist/web-extension-esm2017/src/platform_browser/persistence/cookie_storage.d.ts +40 -0
- package/dist/web-extension-esm2017/src/platform_node/index.d.ts +1 -0
- package/package.json +3 -2
- package/dist/browser-cjs/index-018c7ebd.js.map +0 -1
- package/dist/cordova/popup_redirect-e795474a.js.map +0 -1
- package/dist/esm2017/index-e84cf44d.js.map +0 -1
- package/dist/node/totp-06fa6909.js.map +0 -1
- package/dist/node-esm/totp-d5ff2369.js.map +0 -1
- package/dist/rn/index-ee081591.js.map +0 -1
- package/dist/web-extension-cjs/register-c2c7670d.js.map +0 -1
- package/dist/web-extension-esm2017/register-31c228e4.js.map +0 -1
|
@@ -91,7 +91,7 @@ export declare function _addTidIfNecessary<T extends {
|
|
|
91
91
|
export declare function _performApiRequest<T, V>(auth: Auth, method: HttpMethod, path: Endpoint, request?: T, customErrorMap?: Partial<ServerErrorMap<ServerError>>): Promise<V>;
|
|
92
92
|
export declare function _performFetchWithErrorHandling<V>(auth: Auth, customErrorMap: Partial<ServerErrorMap<ServerError>>, fetchFn: () => Promise<Response>): Promise<V>;
|
|
93
93
|
export declare function _performSignInRequest<T, V extends IdTokenResponse>(auth: Auth, method: HttpMethod, path: Endpoint, request?: T, customErrorMap?: Partial<ServerErrorMap<ServerError>>): Promise<V>;
|
|
94
|
-
export declare function _getFinalTarget(auth: Auth, host: string, path: string, query: string): string
|
|
94
|
+
export declare function _getFinalTarget(auth: Auth, host: string, path: string, query: string): Promise<string>;
|
|
95
95
|
export declare function _parseEnforcementState(enforcementStateStr: string): EnforcementState;
|
|
96
96
|
interface PotentialResponse extends IdTokenResponse {
|
|
97
97
|
email?: string;
|
|
@@ -57,6 +57,8 @@ export declare class AuthImpl implements AuthInternal, _FirebaseService {
|
|
|
57
57
|
_tenantRecaptchaConfigs: Record<string, RecaptchaConfig>;
|
|
58
58
|
_projectPasswordPolicy: PasswordPolicyInternal | null;
|
|
59
59
|
_tenantPasswordPolicies: Record<string, PasswordPolicyInternal>;
|
|
60
|
+
_resolvePersistenceManagerAvailable: ((value: void | PromiseLike<void>) => void) | undefined;
|
|
61
|
+
_persistenceManagerAvailable: Promise<void>;
|
|
60
62
|
readonly name: string;
|
|
61
63
|
private lastNotifiedUid;
|
|
62
64
|
languageCode: string | null;
|
|
@@ -82,7 +84,8 @@ export declare class AuthImpl implements AuthInternal, _FirebaseService {
|
|
|
82
84
|
validatePassword(password: string): Promise<PasswordValidationStatus>;
|
|
83
85
|
_getPasswordPolicyInternal(): PasswordPolicyInternal | null;
|
|
84
86
|
_updatePasswordPolicy(): Promise<void>;
|
|
85
|
-
|
|
87
|
+
_getPersistenceType(): string;
|
|
88
|
+
_getPersistence(): PersistenceInternal;
|
|
86
89
|
_updateErrorMap(errorMap: AuthErrorMap): void;
|
|
87
90
|
onAuthStateChanged(nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
|
|
88
91
|
beforeAuthStateChanged(callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;
|
|
@@ -18,7 +18,8 @@ import { Persistence } from '../../model/public_types';
|
|
|
18
18
|
export declare const enum PersistenceType {
|
|
19
19
|
SESSION = "SESSION",
|
|
20
20
|
LOCAL = "LOCAL",
|
|
21
|
-
NONE = "NONE"
|
|
21
|
+
NONE = "NONE",
|
|
22
|
+
COOKIE = "COOKIE"
|
|
22
23
|
}
|
|
23
24
|
export type PersistedBlob = Record<string, unknown>;
|
|
24
25
|
export interface Instantiator<T> {
|
|
@@ -22,6 +22,7 @@ import { UserInternal } from './user';
|
|
|
22
22
|
import { ClientPlatform } from '../core/util/version';
|
|
23
23
|
import { RecaptchaConfig } from '../platform_browser/recaptcha/recaptcha';
|
|
24
24
|
import { PasswordPolicyInternal } from './password_policy';
|
|
25
|
+
import { PersistenceInternal } from '../core/persistence';
|
|
25
26
|
export type AppName = string;
|
|
26
27
|
export type ApiKey = string;
|
|
27
28
|
export type AuthDomain = string;
|
|
@@ -56,6 +57,7 @@ export interface AuthInternal extends Auth {
|
|
|
56
57
|
_canInitEmulator: boolean;
|
|
57
58
|
_isInitialized: boolean;
|
|
58
59
|
_initializationPromise: Promise<void> | null;
|
|
60
|
+
_persistenceManagerAvailable: Promise<void>;
|
|
59
61
|
_updateCurrentUser(user: UserInternal | null): Promise<void>;
|
|
60
62
|
_onStorageEvent(): void;
|
|
61
63
|
_notifyListenersIfCurrent(user: UserInternal): void;
|
|
@@ -66,7 +68,8 @@ export interface AuthInternal extends Auth {
|
|
|
66
68
|
_key(): string;
|
|
67
69
|
_startProactiveRefresh(): void;
|
|
68
70
|
_stopProactiveRefresh(): void;
|
|
69
|
-
|
|
71
|
+
_getPersistenceType(): string;
|
|
72
|
+
_getPersistence(): PersistenceInternal;
|
|
70
73
|
_getRecaptchaConfig(): RecaptchaConfig | null;
|
|
71
74
|
_getPasswordPolicyInternal(): PasswordPolicyInternal | null;
|
|
72
75
|
_updatePasswordPolicy(): Promise<void>;
|
|
@@ -305,8 +305,9 @@ export interface Persistence {
|
|
|
305
305
|
* - 'SESSION' is used for temporary persistence such as `sessionStorage`.
|
|
306
306
|
* - 'LOCAL' is used for long term persistence such as `localStorage` or `IndexedDB`.
|
|
307
307
|
* - 'NONE' is used for in-memory, or no persistence.
|
|
308
|
+
* - 'COOKIE' is used for cookie persistence, useful for server-side rendering.
|
|
308
309
|
*/
|
|
309
|
-
readonly type: 'SESSION' | 'LOCAL' | 'NONE';
|
|
310
|
+
readonly type: 'SESSION' | 'LOCAL' | 'NONE' | 'COOKIE';
|
|
310
311
|
}
|
|
311
312
|
/**
|
|
312
313
|
* Interface representing ID token result obtained from {@link User.getIdTokenResult}.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 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 { Persistence } from '../../model/public_types';
|
|
18
|
+
import { PersistenceInternal, PersistenceType, PersistenceValue, StorageEventListener } from '../../core/persistence';
|
|
19
|
+
export declare class CookiePersistence implements PersistenceInternal {
|
|
20
|
+
static type: 'COOKIE';
|
|
21
|
+
readonly type = PersistenceType.COOKIE;
|
|
22
|
+
listenerUnsubscribes: Map<StorageEventListener, () => void>;
|
|
23
|
+
_getFinalTarget(originalUrl: string): URL | string;
|
|
24
|
+
_isAvailable(): Promise<boolean>;
|
|
25
|
+
_set(_key: string, _value: PersistenceValue): Promise<void>;
|
|
26
|
+
_get<T extends PersistenceValue>(key: string): Promise<T | null>;
|
|
27
|
+
_remove(key: string): Promise<void>;
|
|
28
|
+
_addListener(key: string, listener: StorageEventListener): void;
|
|
29
|
+
_removeListener(_key: string, listener: StorageEventListener): void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* An implementation of {@link Persistence} of type `COOKIE`, for use on the client side in
|
|
33
|
+
* applications leveraging hybrid rendering and middleware.
|
|
34
|
+
*
|
|
35
|
+
* @remarks This persistence method requires companion middleware to function, such as that provided
|
|
36
|
+
* by {@link https://firebaseopensource.com/projects/firebaseextended/reactfire/ | ReactFire} for
|
|
37
|
+
* NextJS.
|
|
38
|
+
* @beta
|
|
39
|
+
*/
|
|
40
|
+
export declare const browserCookiePersistence: Persistence;
|
|
@@ -28,6 +28,7 @@ declare class FailClass {
|
|
|
28
28
|
}
|
|
29
29
|
export declare const browserLocalPersistence: import("../model/public_types").Persistence;
|
|
30
30
|
export declare const browserSessionPersistence: import("../model/public_types").Persistence;
|
|
31
|
+
export declare const browserCookiePersistence: import("../model/public_types").Persistence;
|
|
31
32
|
export declare const indexedDBLocalPersistence: import("../model/public_types").Persistence;
|
|
32
33
|
export declare const browserPopupRedirectResolver: import("@firebase/app").FirebaseError;
|
|
33
34
|
export declare const PhoneAuthProvider: typeof FailClass;
|
|
@@ -2183,10 +2183,31 @@ declare interface Persistence {
|
|
|
2183
2183
|
* - 'SESSION' is used for temporary persistence such as `sessionStorage`.
|
|
2184
2184
|
* - 'LOCAL' is used for long term persistence such as `localStorage` or `IndexedDB`.
|
|
2185
2185
|
* - 'NONE' is used for in-memory, or no persistence.
|
|
2186
|
+
* - 'COOKIE' is used for cookie persistence, useful for server-side rendering.
|
|
2186
2187
|
*/
|
|
2187
|
-
readonly type: 'SESSION' | 'LOCAL' | 'NONE';
|
|
2188
|
+
readonly type: 'SESSION' | 'LOCAL' | 'NONE' | 'COOKIE';
|
|
2188
2189
|
}
|
|
2189
2190
|
|
|
2191
|
+
declare interface PersistenceInternal extends Persistence {
|
|
2192
|
+
type: PersistenceType;
|
|
2193
|
+
_isAvailable(): Promise<boolean>;
|
|
2194
|
+
_set(key: string, value: PersistenceValue): Promise<void>;
|
|
2195
|
+
_get<T extends PersistenceValue>(key: string): Promise<T | null>;
|
|
2196
|
+
_remove(key: string): Promise<void>;
|
|
2197
|
+
_addListener(key: string, listener: StorageEventListener): void;
|
|
2198
|
+
_removeListener(key: string, listener: StorageEventListener): void;
|
|
2199
|
+
_shouldAllowMigration?: boolean;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
declare const enum PersistenceType {
|
|
2203
|
+
SESSION = "SESSION",
|
|
2204
|
+
LOCAL = "LOCAL",
|
|
2205
|
+
NONE = "NONE",
|
|
2206
|
+
COOKIE = "COOKIE"
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
declare type PersistenceValue = PersistedBlob | string;
|
|
2210
|
+
|
|
2190
2211
|
/**
|
|
2191
2212
|
* Represents the credentials returned by {@link PhoneAuthProvider}.
|
|
2192
2213
|
*
|
|
@@ -2651,6 +2672,10 @@ declare interface StartTotpMfaEnrollmentResponse {
|
|
|
2651
2672
|
};
|
|
2652
2673
|
}
|
|
2653
2674
|
|
|
2675
|
+
declare interface StorageEventListener {
|
|
2676
|
+
(value: PersistenceValue | null): void;
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2654
2679
|
/* Excluded from this release type: StsTokenManager */
|
|
2655
2680
|
|
|
2656
2681
|
/* Excluded from this release type: TaggedWithTokenResponse */
|
|
@@ -839,6 +839,7 @@ declare interface AuthInternal extends Auth {
|
|
|
839
839
|
_canInitEmulator: boolean;
|
|
840
840
|
_isInitialized: boolean;
|
|
841
841
|
_initializationPromise: Promise<void> | null;
|
|
842
|
+
_persistenceManagerAvailable: Promise<void>;
|
|
842
843
|
_updateCurrentUser(user: UserInternal | null): Promise<void>;
|
|
843
844
|
_onStorageEvent(): void;
|
|
844
845
|
_notifyListenersIfCurrent(user: UserInternal): void;
|
|
@@ -849,7 +850,8 @@ declare interface AuthInternal extends Auth {
|
|
|
849
850
|
_key(): string;
|
|
850
851
|
_startProactiveRefresh(): void;
|
|
851
852
|
_stopProactiveRefresh(): void;
|
|
852
|
-
|
|
853
|
+
_getPersistenceType(): string;
|
|
854
|
+
_getPersistence(): PersistenceInternal;
|
|
853
855
|
_getRecaptchaConfig(): RecaptchaConfig | null;
|
|
854
856
|
_getPasswordPolicyInternal(): PasswordPolicyInternal | null;
|
|
855
857
|
_updatePasswordPolicy(): Promise<void>;
|
|
@@ -2580,10 +2582,31 @@ declare interface Persistence {
|
|
|
2580
2582
|
* - 'SESSION' is used for temporary persistence such as `sessionStorage`.
|
|
2581
2583
|
* - 'LOCAL' is used for long term persistence such as `localStorage` or `IndexedDB`.
|
|
2582
2584
|
* - 'NONE' is used for in-memory, or no persistence.
|
|
2585
|
+
* - 'COOKIE' is used for cookie persistence, useful for server-side rendering.
|
|
2583
2586
|
*/
|
|
2584
|
-
readonly type: 'SESSION' | 'LOCAL' | 'NONE';
|
|
2587
|
+
readonly type: 'SESSION' | 'LOCAL' | 'NONE' | 'COOKIE';
|
|
2585
2588
|
}
|
|
2586
2589
|
|
|
2590
|
+
declare interface PersistenceInternal extends Persistence {
|
|
2591
|
+
type: PersistenceType;
|
|
2592
|
+
_isAvailable(): Promise<boolean>;
|
|
2593
|
+
_set(key: string, value: PersistenceValue): Promise<void>;
|
|
2594
|
+
_get<T extends PersistenceValue>(key: string): Promise<T | null>;
|
|
2595
|
+
_remove(key: string): Promise<void>;
|
|
2596
|
+
_addListener(key: string, listener: StorageEventListener): void;
|
|
2597
|
+
_removeListener(key: string, listener: StorageEventListener): void;
|
|
2598
|
+
_shouldAllowMigration?: boolean;
|
|
2599
|
+
}
|
|
2600
|
+
|
|
2601
|
+
declare const enum PersistenceType {
|
|
2602
|
+
SESSION = "SESSION",
|
|
2603
|
+
LOCAL = "LOCAL",
|
|
2604
|
+
NONE = "NONE",
|
|
2605
|
+
COOKIE = "COOKIE"
|
|
2606
|
+
}
|
|
2607
|
+
|
|
2608
|
+
declare type PersistenceValue = PersistedBlob | string;
|
|
2609
|
+
|
|
2587
2610
|
/**
|
|
2588
2611
|
* Represents the credentials returned by {@link PhoneAuthProvider}.
|
|
2589
2612
|
*
|
|
@@ -3136,6 +3159,10 @@ declare interface StartTotpMfaEnrollmentResponse {
|
|
|
3136
3159
|
};
|
|
3137
3160
|
}
|
|
3138
3161
|
|
|
3162
|
+
declare interface StorageEventListener {
|
|
3163
|
+
(value: PersistenceValue | null): void;
|
|
3164
|
+
}
|
|
3165
|
+
|
|
3139
3166
|
/**
|
|
3140
3167
|
* We need to mark this class as internal explicitly to exclude it in the public typings, because
|
|
3141
3168
|
* it references AuthInternal which has a circular dependency with UserInternal.
|
|
@@ -23,6 +23,7 @@ export * from './src/model/public_types';
|
|
|
23
23
|
export { FactorId, ProviderId, SignInMethod, OperationType, ActionCodeOperation } from './src/model/enum_maps';
|
|
24
24
|
export * from './src';
|
|
25
25
|
import { browserLocalPersistence } from './src/platform_browser/persistence/local_storage';
|
|
26
|
+
import { browserCookiePersistence } from './src/platform_browser/persistence/cookie_storage';
|
|
26
27
|
import { browserSessionPersistence } from './src/platform_browser/persistence/session_storage';
|
|
27
28
|
import { indexedDBLocalPersistence } from './src/platform_browser/persistence/indexed_db';
|
|
28
29
|
import { PhoneAuthProvider } from './src/platform_browser/providers/phone';
|
|
@@ -34,4 +35,4 @@ import { browserPopupRedirectResolver } from './src/platform_browser/popup_redir
|
|
|
34
35
|
import { PhoneMultiFactorGenerator } from './src/platform_browser/mfa/assertions/phone';
|
|
35
36
|
import { TotpMultiFactorGenerator, TotpSecret } from './src/mfa/assertions/totp';
|
|
36
37
|
import { getAuth } from './src/platform_browser';
|
|
37
|
-
export { browserLocalPersistence, browserSessionPersistence, indexedDBLocalPersistence, PhoneAuthProvider, signInWithPhoneNumber, linkWithPhoneNumber, reauthenticateWithPhoneNumber, updatePhoneNumber, signInWithPopup, linkWithPopup, reauthenticateWithPopup, signInWithRedirect, linkWithRedirect, reauthenticateWithRedirect, getRedirectResult, RecaptchaVerifier, browserPopupRedirectResolver, PhoneMultiFactorGenerator, TotpMultiFactorGenerator, TotpSecret, getAuth };
|
|
38
|
+
export { browserLocalPersistence, browserCookiePersistence, browserSessionPersistence, indexedDBLocalPersistence, PhoneAuthProvider, signInWithPhoneNumber, linkWithPhoneNumber, reauthenticateWithPhoneNumber, updatePhoneNumber, signInWithPopup, linkWithPopup, reauthenticateWithPopup, signInWithRedirect, linkWithRedirect, reauthenticateWithRedirect, getRedirectResult, RecaptchaVerifier, browserPopupRedirectResolver, PhoneMultiFactorGenerator, TotpMultiFactorGenerator, TotpSecret, getAuth };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as registerAuth, i as initializeAuth, a as indexedDBLocalPersistence, c as connectAuthEmulator } from './register-
|
|
2
|
-
export { Y as ActionCodeURL, m as AuthCredential, A as AuthErrorCodes, E as EmailAuthCredential, q as EmailAuthProvider, F as FacebookAuthProvider, t as GithubAuthProvider, G as GoogleAuthProvider, O as OAuthCredential, w as OAuthProvider, P as PhoneAuthCredential, S as SAMLAuthProvider, T as TotpMultiFactorGenerator, b as TotpSecret, x as TwitterAuthProvider, J as applyActionCode, e as beforeAuthStateChanged, K as checkActionCode, I as confirmPasswordReset, c as connectAuthEmulator, M as createUserWithEmailAndPassword, l as debugErrorMap, k as deleteUser, V as fetchSignInMethodsForEmail, a4 as getAdditionalUserInfo, a1 as getIdToken, a2 as getIdTokenResult, a6 as getMultiFactorResolver, n as inMemoryPersistence, a as indexedDBLocalPersistence, i as initializeAuth, d as initializeRecaptchaConfig, R as isSignInWithEmailLink, B as linkWithCredential, a7 as multiFactor, f as onAuthStateChanged, o as onIdTokenChanged, Z as parseActionCodeURL, p as prodErrorMap, C as reauthenticateWithCredential, a5 as reload, j as revokeAccessToken, W as sendEmailVerification, H as sendPasswordResetEmail, Q as sendSignInLinkToEmail, s as setPersistence, y as signInAnonymously, z as signInWithCredential, D as signInWithCustomToken, N as signInWithEmailAndPassword, U as signInWithEmailLink, h as signOut, a3 as unlink, g as updateCurrentUser, $ as updateEmail, a0 as updatePassword, _ as updateProfile, u as useDeviceLanguage, v as validatePassword, X as verifyBeforeUpdateEmail, L as verifyPasswordResetCode } from './register-
|
|
1
|
+
import { r as registerAuth, i as initializeAuth, a as indexedDBLocalPersistence, c as connectAuthEmulator } from './register-00522d81.js';
|
|
2
|
+
export { Y as ActionCodeURL, m as AuthCredential, A as AuthErrorCodes, E as EmailAuthCredential, q as EmailAuthProvider, F as FacebookAuthProvider, t as GithubAuthProvider, G as GoogleAuthProvider, O as OAuthCredential, w as OAuthProvider, P as PhoneAuthCredential, S as SAMLAuthProvider, T as TotpMultiFactorGenerator, b as TotpSecret, x as TwitterAuthProvider, J as applyActionCode, e as beforeAuthStateChanged, K as checkActionCode, I as confirmPasswordReset, c as connectAuthEmulator, M as createUserWithEmailAndPassword, l as debugErrorMap, k as deleteUser, V as fetchSignInMethodsForEmail, a4 as getAdditionalUserInfo, a1 as getIdToken, a2 as getIdTokenResult, a6 as getMultiFactorResolver, n as inMemoryPersistence, a as indexedDBLocalPersistence, i as initializeAuth, d as initializeRecaptchaConfig, R as isSignInWithEmailLink, B as linkWithCredential, a7 as multiFactor, f as onAuthStateChanged, o as onIdTokenChanged, Z as parseActionCodeURL, p as prodErrorMap, C as reauthenticateWithCredential, a5 as reload, j as revokeAccessToken, W as sendEmailVerification, H as sendPasswordResetEmail, Q as sendSignInLinkToEmail, s as setPersistence, y as signInAnonymously, z as signInWithCredential, D as signInWithCustomToken, N as signInWithEmailAndPassword, U as signInWithEmailLink, h as signOut, a3 as unlink, g as updateCurrentUser, $ as updateEmail, a0 as updatePassword, _ as updateProfile, u as useDeviceLanguage, v as validatePassword, X as verifyBeforeUpdateEmail, L as verifyPasswordResetCode } from './register-00522d81.js';
|
|
3
3
|
import { _getProvider, getApp } from '@firebase/app';
|
|
4
4
|
import { getDefaultEmulatorHost } from '@firebase/util';
|
|
5
5
|
import 'tslib';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a8 as STORAGE_AVAILABLE_KEY, a9 as _isMobileBrowser, aa as _isIE10, ab as Delay, ac as _window, ad as _assert, ae as isV2, af as _createError, ag as _recaptchaV2ScriptUrl, ah as _loadJS, ai as MockReCaptcha, aj as _generateCallbackName, ak as _castAuth, al as _isHttpOrHttps, am as _isWorker, an as getRecaptchaParams, ao as _serverAppCurrentUserOperationNotSupportedError, z as signInWithCredential, ap as _assertLinkedStatus, B as linkWithCredential, C as reauthenticateWithCredential, aq as _initializeRecaptchaConfig, ar as FAKE_TOKEN, as as startEnrollPhoneMfa, at as handleRecaptchaFlow, au as startSignInPhoneMfa, av as sendPhoneVerificationCode, aw as _link$1, P as PhoneAuthCredential, ax as _getInstance, ay as _signInWithCredential, az as _reauthenticate, m as AuthCredential, aA as signInWithIdp, aB as _fail, aC as debugAssert, aD as _assertInstanceOf, aE as _generateEventId, aF as FederatedAuthProvider, aG as _persistenceKeyName, aH as _performApiRequest, aI as _getCurrentUrl, aJ as _gapiScriptUrl, aK as _emulatorUrl, aL as _isChromeIOS, aM as _isFirefox, aN as _isIOSStandalone, aO as BaseOAuthProvider, aP as _setWindowLocation, aQ as _isSafari, aR as _isIOS, aS as MultiFactorAssertionImpl, aT as finalizeEnrollPhoneMfa, aU as finalizeSignInPhoneMfa, r as registerAuth, i as initializeAuth, a as indexedDBLocalPersistence, e as beforeAuthStateChanged, o as onIdTokenChanged, c as connectAuthEmulator, aV as _setExternalJSProvider, aW as _isAndroid, aX as _isIOS7Or8 } from './register-
|
|
2
|
-
export { Y as ActionCodeURL, m as AuthCredential, A as AuthErrorCodes, aZ as AuthImpl, E as EmailAuthCredential, q as EmailAuthProvider, F as FacebookAuthProvider, a$ as FetchProvider, t as GithubAuthProvider, G as GoogleAuthProvider, O as OAuthCredential, w as OAuthProvider, P as PhoneAuthCredential, b0 as SAMLAuthCredential, S as SAMLAuthProvider, T as TotpMultiFactorGenerator, b as TotpSecret, x as TwitterAuthProvider, aY as UserImpl, ad as _assert, ak as _castAuth, aB as _fail, aE as _generateEventId, a_ as _getClientVersion, ax as _getInstance, aG as _persistenceKeyName, J as applyActionCode, e as beforeAuthStateChanged, K as checkActionCode, I as confirmPasswordReset, c as connectAuthEmulator, M as createUserWithEmailAndPassword, l as debugErrorMap, k as deleteUser, V as fetchSignInMethodsForEmail, a4 as getAdditionalUserInfo, a1 as getIdToken, a2 as getIdTokenResult, a6 as getMultiFactorResolver, n as inMemoryPersistence, a as indexedDBLocalPersistence, i as initializeAuth, d as initializeRecaptchaConfig, R as isSignInWithEmailLink, B as linkWithCredential, a7 as multiFactor, f as onAuthStateChanged, o as onIdTokenChanged, Z as parseActionCodeURL, p as prodErrorMap, C as reauthenticateWithCredential, a5 as reload, j as revokeAccessToken, W as sendEmailVerification, H as sendPasswordResetEmail, Q as sendSignInLinkToEmail, s as setPersistence, y as signInAnonymously, z as signInWithCredential, D as signInWithCustomToken, N as signInWithEmailAndPassword, U as signInWithEmailLink, h as signOut, a3 as unlink, g as updateCurrentUser, $ as updateEmail, a0 as updatePassword, _ as updateProfile, u as useDeviceLanguage, v as validatePassword, X as verifyBeforeUpdateEmail, L as verifyPasswordResetCode } from './register-
|
|
1
|
+
import { a8 as STORAGE_AVAILABLE_KEY, a9 as _isMobileBrowser, aa as _isIE10, ab as Delay, ac as _window, ad as _assert, ae as isV2, af as _createError, ag as _recaptchaV2ScriptUrl, ah as _loadJS, ai as MockReCaptcha, aj as _generateCallbackName, ak as _castAuth, al as _isHttpOrHttps, am as _isWorker, an as getRecaptchaParams, ao as _serverAppCurrentUserOperationNotSupportedError, z as signInWithCredential, ap as _assertLinkedStatus, B as linkWithCredential, C as reauthenticateWithCredential, aq as _initializeRecaptchaConfig, ar as FAKE_TOKEN, as as startEnrollPhoneMfa, at as handleRecaptchaFlow, au as startSignInPhoneMfa, av as sendPhoneVerificationCode, aw as _link$1, P as PhoneAuthCredential, ax as _getInstance, ay as _signInWithCredential, az as _reauthenticate, m as AuthCredential, aA as signInWithIdp, aB as _fail, aC as debugAssert, aD as _assertInstanceOf, aE as _generateEventId, aF as FederatedAuthProvider, aG as _persistenceKeyName, aH as _performApiRequest, aI as _getCurrentUrl, aJ as _gapiScriptUrl, aK as _emulatorUrl, aL as _isChromeIOS, aM as _isFirefox, aN as _isIOSStandalone, aO as BaseOAuthProvider, aP as _setWindowLocation, aQ as _isSafari, aR as _isIOS, aS as MultiFactorAssertionImpl, aT as finalizeEnrollPhoneMfa, aU as finalizeSignInPhoneMfa, r as registerAuth, i as initializeAuth, a as indexedDBLocalPersistence, e as beforeAuthStateChanged, o as onIdTokenChanged, c as connectAuthEmulator, aV as _setExternalJSProvider, aW as _isAndroid, aX as _isIOS7Or8 } from './register-00522d81.js';
|
|
2
|
+
export { Y as ActionCodeURL, m as AuthCredential, A as AuthErrorCodes, aZ as AuthImpl, E as EmailAuthCredential, q as EmailAuthProvider, F as FacebookAuthProvider, a$ as FetchProvider, t as GithubAuthProvider, G as GoogleAuthProvider, O as OAuthCredential, w as OAuthProvider, P as PhoneAuthCredential, b0 as SAMLAuthCredential, S as SAMLAuthProvider, T as TotpMultiFactorGenerator, b as TotpSecret, x as TwitterAuthProvider, aY as UserImpl, ad as _assert, ak as _castAuth, aB as _fail, aE as _generateEventId, a_ as _getClientVersion, ax as _getInstance, aG as _persistenceKeyName, J as applyActionCode, e as beforeAuthStateChanged, K as checkActionCode, I as confirmPasswordReset, c as connectAuthEmulator, M as createUserWithEmailAndPassword, l as debugErrorMap, k as deleteUser, V as fetchSignInMethodsForEmail, a4 as getAdditionalUserInfo, a1 as getIdToken, a2 as getIdTokenResult, a6 as getMultiFactorResolver, n as inMemoryPersistence, a as indexedDBLocalPersistence, i as initializeAuth, d as initializeRecaptchaConfig, R as isSignInWithEmailLink, B as linkWithCredential, a7 as multiFactor, f as onAuthStateChanged, o as onIdTokenChanged, Z as parseActionCodeURL, p as prodErrorMap, C as reauthenticateWithCredential, a5 as reload, j as revokeAccessToken, W as sendEmailVerification, H as sendPasswordResetEmail, Q as sendSignInLinkToEmail, s as setPersistence, y as signInAnonymously, z as signInWithCredential, D as signInWithCustomToken, N as signInWithEmailAndPassword, U as signInWithEmailLink, h as signOut, a3 as unlink, g as updateCurrentUser, $ as updateEmail, a0 as updatePassword, _ as updateProfile, u as useDeviceLanguage, v as validatePassword, X as verifyBeforeUpdateEmail, L as verifyPasswordResetCode } from './register-00522d81.js';
|
|
3
3
|
import { querystring, getModularInstance, getUA, isEmpty, getExperimentalSetting, getDefaultEmulatorHost, querystringDecode } from '@firebase/util';
|
|
4
4
|
import { _isFirebaseServerApp, SDK_VERSION, _getProvider, getApp } from '@firebase/app';
|
|
5
5
|
import 'tslib';
|
|
@@ -341,6 +341,150 @@ BrowserLocalPersistence.type = 'LOCAL';
|
|
|
341
341
|
*/
|
|
342
342
|
const browserLocalPersistence = BrowserLocalPersistence;
|
|
343
343
|
|
|
344
|
+
/**
|
|
345
|
+
* @license
|
|
346
|
+
* Copyright 2025 Google LLC
|
|
347
|
+
*
|
|
348
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
349
|
+
* you may not use this file except in compliance with the License.
|
|
350
|
+
* You may obtain a copy of the License at
|
|
351
|
+
*
|
|
352
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
353
|
+
*
|
|
354
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
355
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
356
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
357
|
+
* See the License for the specific language governing permissions and
|
|
358
|
+
* limitations under the License.
|
|
359
|
+
*/
|
|
360
|
+
const POLLING_INTERVAL_MS = 1000;
|
|
361
|
+
// Pull a cookie value from document.cookie
|
|
362
|
+
function getDocumentCookie(name) {
|
|
363
|
+
var _a, _b;
|
|
364
|
+
const escapedName = name.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&');
|
|
365
|
+
const matcher = RegExp(`${escapedName}=([^;]+)`);
|
|
366
|
+
return (_b = (_a = document.cookie.match(matcher)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : null;
|
|
367
|
+
}
|
|
368
|
+
// Produce a sanitized cookie name from the persistence key
|
|
369
|
+
function getCookieName(key) {
|
|
370
|
+
// __HOST- doesn't work in localhost https://issues.chromium.org/issues/40196122 but it has
|
|
371
|
+
// desirable security properties, so lets use a different cookie name while in dev-mode.
|
|
372
|
+
// Already checked isSecureContext in _isAvailable, so if it's http we're hitting local.
|
|
373
|
+
const isDevMode = window.location.protocol === 'http:';
|
|
374
|
+
return `${isDevMode ? '__dev_' : '__HOST-'}FIREBASE_${key.split(':')[3]}`;
|
|
375
|
+
}
|
|
376
|
+
class CookiePersistence {
|
|
377
|
+
constructor() {
|
|
378
|
+
this.type = "COOKIE" /* PersistenceType.COOKIE */;
|
|
379
|
+
this.listenerUnsubscribes = new Map();
|
|
380
|
+
}
|
|
381
|
+
// used to get the URL to the backend to proxy to
|
|
382
|
+
_getFinalTarget(originalUrl) {
|
|
383
|
+
if (typeof window === undefined) {
|
|
384
|
+
return originalUrl;
|
|
385
|
+
}
|
|
386
|
+
const url = new URL(`${window.location.origin}/__cookies__`);
|
|
387
|
+
url.searchParams.set('finalTarget', originalUrl);
|
|
388
|
+
return url;
|
|
389
|
+
}
|
|
390
|
+
// To be a usable persistence method in a chain browserCookiePersistence ensures that
|
|
391
|
+
// prerequisites have been met, namely that we're in a secureContext, navigator and document are
|
|
392
|
+
// available and cookies are enabled. Not all UAs support these method, so fallback accordingly.
|
|
393
|
+
async _isAvailable() {
|
|
394
|
+
var _a;
|
|
395
|
+
if (typeof isSecureContext === 'boolean' && !isSecureContext) {
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
if (typeof navigator === 'undefined' || typeof document === 'undefined') {
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
return (_a = navigator.cookieEnabled) !== null && _a !== void 0 ? _a : true;
|
|
402
|
+
}
|
|
403
|
+
// Set should be a noop as we expect middleware to handle this
|
|
404
|
+
async _set(_key, _value) {
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
// Attempt to get the cookie from cookieStore, fallback to document.cookie
|
|
408
|
+
async _get(key) {
|
|
409
|
+
if (!this._isAvailable()) {
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
const name = getCookieName(key);
|
|
413
|
+
if (window.cookieStore) {
|
|
414
|
+
const cookie = await window.cookieStore.get(name);
|
|
415
|
+
return cookie === null || cookie === void 0 ? void 0 : cookie.value;
|
|
416
|
+
}
|
|
417
|
+
return getDocumentCookie(name);
|
|
418
|
+
}
|
|
419
|
+
// Log out by overriding the idToken with a sentinel value of ""
|
|
420
|
+
async _remove(key) {
|
|
421
|
+
if (!this._isAvailable()) {
|
|
422
|
+
return;
|
|
423
|
+
}
|
|
424
|
+
// To make sure we don't hit signout over and over again, only do this operation if we need to
|
|
425
|
+
// with the logout sentinel value of "" this can cause race conditions. Unnecessary set-cookie
|
|
426
|
+
// headers will reduce CDN hit rates too.
|
|
427
|
+
const existingValue = await this._get(key);
|
|
428
|
+
if (!existingValue) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
const name = getCookieName(key);
|
|
432
|
+
document.cookie = `${name}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`;
|
|
433
|
+
await fetch(`/__cookies__`, { method: 'DELETE' }).catch(() => undefined);
|
|
434
|
+
}
|
|
435
|
+
// Listen for cookie changes, both cookieStore and fallback to polling document.cookie
|
|
436
|
+
_addListener(key, listener) {
|
|
437
|
+
if (!this._isAvailable()) {
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
const name = getCookieName(key);
|
|
441
|
+
if (window.cookieStore) {
|
|
442
|
+
const cb = ((event) => {
|
|
443
|
+
const changedCookie = event.changed.find(change => change.name === name);
|
|
444
|
+
if (changedCookie) {
|
|
445
|
+
listener(changedCookie.value);
|
|
446
|
+
}
|
|
447
|
+
const deletedCookie = event.deleted.find(change => change.name === name);
|
|
448
|
+
if (deletedCookie) {
|
|
449
|
+
listener(null);
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
const unsubscribe = () => window.cookieStore.removeEventListener('change', cb);
|
|
453
|
+
this.listenerUnsubscribes.set(listener, unsubscribe);
|
|
454
|
+
return window.cookieStore.addEventListener('change', cb);
|
|
455
|
+
}
|
|
456
|
+
let lastValue = getDocumentCookie(name);
|
|
457
|
+
const interval = setInterval(() => {
|
|
458
|
+
const currentValue = getDocumentCookie(name);
|
|
459
|
+
if (currentValue !== lastValue) {
|
|
460
|
+
listener(currentValue);
|
|
461
|
+
lastValue = currentValue;
|
|
462
|
+
}
|
|
463
|
+
}, POLLING_INTERVAL_MS);
|
|
464
|
+
const unsubscribe = () => clearInterval(interval);
|
|
465
|
+
this.listenerUnsubscribes.set(listener, unsubscribe);
|
|
466
|
+
}
|
|
467
|
+
_removeListener(_key, listener) {
|
|
468
|
+
const unsubscribe = this.listenerUnsubscribes.get(listener);
|
|
469
|
+
if (!unsubscribe) {
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
unsubscribe();
|
|
473
|
+
this.listenerUnsubscribes.delete(listener);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
CookiePersistence.type = 'COOKIE';
|
|
477
|
+
/**
|
|
478
|
+
* An implementation of {@link Persistence} of type `COOKIE`, for use on the client side in
|
|
479
|
+
* applications leveraging hybrid rendering and middleware.
|
|
480
|
+
*
|
|
481
|
+
* @remarks This persistence method requires companion middleware to function, such as that provided
|
|
482
|
+
* by {@link https://firebaseopensource.com/projects/firebaseextended/reactfire/ | ReactFire} for
|
|
483
|
+
* NextJS.
|
|
484
|
+
* @beta
|
|
485
|
+
*/
|
|
486
|
+
const browserCookiePersistence = CookiePersistence;
|
|
487
|
+
|
|
344
488
|
/**
|
|
345
489
|
* @license
|
|
346
490
|
* Copyright 2020 Google LLC
|
|
@@ -3328,5 +3472,5 @@ function addFrameworkForLogging(auth, framework) {
|
|
|
3328
3472
|
_castAuth(auth)._logFramework(framework);
|
|
3329
3473
|
}
|
|
3330
3474
|
|
|
3331
|
-
export { ActionCodeOperation, AuthPopup, FactorId, OperationType, PhoneAuthProvider, PhoneMultiFactorGenerator, ProviderId, RecaptchaVerifier, SignInMethod, _getRedirectResult, _overrideRedirectResult, addFrameworkForLogging, browserLocalPersistence, browserPopupRedirectResolver, browserSessionPersistence, cordovaPopupRedirectResolver, getAuth, getRedirectResult, linkWithPhoneNumber, linkWithPopup, linkWithRedirect, reauthenticateWithPhoneNumber, reauthenticateWithPopup, reauthenticateWithRedirect, signInWithPhoneNumber, signInWithPopup, signInWithRedirect, updatePhoneNumber };
|
|
3475
|
+
export { ActionCodeOperation, AuthPopup, FactorId, OperationType, PhoneAuthProvider, PhoneMultiFactorGenerator, ProviderId, RecaptchaVerifier, SignInMethod, _getRedirectResult, _overrideRedirectResult, addFrameworkForLogging, browserCookiePersistence, browserLocalPersistence, browserPopupRedirectResolver, browserSessionPersistence, cordovaPopupRedirectResolver, getAuth, getRedirectResult, linkWithPhoneNumber, linkWithPopup, linkWithRedirect, reauthenticateWithPhoneNumber, reauthenticateWithPopup, reauthenticateWithRedirect, signInWithPhoneNumber, signInWithPopup, signInWithRedirect, updatePhoneNumber };
|
|
3332
3476
|
//# sourceMappingURL=internal.js.map
|