diff --git a/packages-exp/auth-exp/index.cordova.ts b/packages-exp/auth-exp/index.cordova.ts index f53bacdd34b..a701ee6bebc 100644 --- a/packages-exp/auth-exp/index.cordova.ts +++ b/packages-exp/auth-exp/index.cordova.ts @@ -22,7 +22,7 @@ * just use index.ts */ -import { FirebaseApp } from '@firebase/app-exp'; +import { FirebaseApp, _getProvider } from '@firebase/app-exp'; import { Auth } from './src/model/public_types'; import { indexedDBLocalPersistence } from './src/platform_browser/persistence/indexed_db'; @@ -49,6 +49,12 @@ export { import { cordovaPopupRedirectResolver } from './src/platform_cordova/popup_redirect/popup_redirect'; export function getAuth(app: FirebaseApp): Auth { + const provider = _getProvider(app, 'auth-exp'); + + if (provider.isInitialized()) { + return provider.getImmediate(); + } + return initializeAuth(app, { persistence: indexedDBLocalPersistence, popupRedirectResolver: cordovaPopupRedirectResolver diff --git a/packages-exp/auth-exp/index.node.ts b/packages-exp/auth-exp/index.node.ts index c5e5c12e0ac..cb0a30cedb0 100644 --- a/packages-exp/auth-exp/index.node.ts +++ b/packages-exp/auth-exp/index.node.ts @@ -24,7 +24,7 @@ import * as fetchImpl from 'node-fetch'; -import { FirebaseApp } from '@firebase/app-exp'; +import { FirebaseApp, _getProvider } from '@firebase/app-exp'; import { Auth } from './src/model/public_types'; import { initializeAuth } from './src'; @@ -43,6 +43,12 @@ FetchProvider.initialize( export * from './src'; export function getAuth(app: FirebaseApp): Auth { + const provider = _getProvider(app, 'auth-exp'); + + if (provider.isInitialized()) { + return provider.getImmediate(); + } + return initializeAuth(app); } diff --git a/packages-exp/auth-exp/index.rn.ts b/packages-exp/auth-exp/index.rn.ts index 75ce948da75..05e671d5ce4 100644 --- a/packages-exp/auth-exp/index.rn.ts +++ b/packages-exp/auth-exp/index.rn.ts @@ -24,7 +24,7 @@ import { AsyncStorage } from 'react-native'; -import { FirebaseApp } from '@firebase/app-exp'; +import { FirebaseApp, _getProvider } from '@firebase/app-exp'; import { Auth } from './src/model/public_types'; import { initializeAuth } from './src'; @@ -40,6 +40,12 @@ export const reactNativeLocalPersistence = getReactNativePersistence( ); export function getAuth(app: FirebaseApp): Auth { + const provider = _getProvider(app, 'auth-exp'); + + if (provider.isInitialized()) { + return provider.getImmediate(); + } + return initializeAuth(app, { persistence: reactNativeLocalPersistence });