Firebase JavaScript library for web and Node.js applications providing authentication, databases, storage, analytics, messaging, and other backend services
—
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
Firebase Authentication for browser web extensions with specialized handling for extension environments and content security policies.
/**
* Gets the Auth service instance optimized for web extensions
* @param app - Firebase app instance, uses default if not provided
* @returns Auth service instance configured for extension environment
*/
function getAuth(app?: FirebaseApp): Auth;
/**
* Initialize Auth with web extension-specific dependencies
* @param app - Firebase app instance
* @param deps - Extension-specific dependencies
* @returns Auth service instance
*/
function initializeAuth(app: FirebaseApp, deps: WebExtensionDependencies): Auth;
interface WebExtensionDependencies {
/** Custom persistence for extension storage */
persistence?: Persistence[];
/** Extension-specific popup redirect resolver */
popupRedirectResolver?: PopupRedirectResolver;
}/**
* Signs in using popup flow optimized for web extensions
* @param auth - Auth service instance
* @param provider - OAuth provider
* @returns Promise resolving to user credential
*/
function signInWithPopup(auth: Auth, provider: AuthProvider): Promise<UserCredential>;
/**
* Links additional provider to existing user account via popup
* @param user - Current user
* @param provider - Additional provider to link
* @returns Promise resolving to user credential
*/
function linkWithPopup(user: User, provider: AuthProvider): Promise<UserCredential>;Usage Examples:
import { initializeApp } from 'firebase/app';
import { getAuth, GoogleAuthProvider, signInWithPopup } from 'firebase/auth/web-extension';
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
// Sign in with popup (CSP-compliant for extensions)
const provider = new GoogleAuthProvider();
const result = await signInWithPopup(auth, provider);
console.log('Extension user:', result.user);