Registry / gcp / firebase-auth-lite

firebase-auth-lite

JSON →
library0.8.9jsnpmunverified

Firebase Auth Lite (Beta) is a lightweight, performance-focused alternative to the official Firebase Auth SDK, designed specifically for modern browser environments. Currently at version 0.8.9, it aims to deliver significantly smaller bundle sizes and faster authentication performance, claiming to be up to 27 times smaller and 13 times faster than the official SDK. The library is under active development, with its API explicitly stated as subject to change without warning until it reaches a stable 1.0 release. Key differentiators include a simplified API, enhanced client-side security through direct OAuth redirect handling, and limitations such as localStorage-only session persistence. It relies on modern browser features like the Fetch API and localStorage, requiring users to handle transpilation for broader browser compatibility. Its release cadence is ad-hoc, driven by development progress toward v1.0.

gcp
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Auth is the default export of the library. It is designed for ESM environments, typically used in modern browsers or via bundlers. Avoid named imports or CommonJS `require`.

import Auth from 'firebase-auth-lite';

Auth is a class and must be instantiated with the `new` keyword. The `apiKey` option is required for most authentication flows.

const auth = new Auth({ apiKey: 'YOUR_API_KEY' });

Demonstrates core authentication flows including user registration (sign-up), logging in (sign-in), retrieving the current user's session, and logging out (sign-out), showcasing typical API usage.

import Auth from 'firebase-auth-lite'; // Ensure you set your Firebase API Key, e.g., via environment variable const API_KEY = process.env.FIREBASE_API_KEY ?? 'YOUR_FIREBASE_API_KEY_HERE'; // Instantiate the Auth client const auth = new Auth({ apiKey: API_KEY, // Optional: Add a custom app name if needed // appName: 'my-web-app' }); async function runAuthDemo() { try { console.log('Attempting to sign up a new user...'); // Example: Sign up with email and password const newUser = await auth.signUpWithEmailAndPassword('test@example.com', 'password123'); console.log('New user signed up:', newUser.uid, newUser.email); console.log('\nAttempting to sign in existing user...'); // Example: Sign in with email and password const user = await auth.signInWithEmailAndPassword('test@example.com', 'password123'); console.log('User signed in:', user.uid, user.email); console.log('\nGetting current user session...'); // Example: Get the currently signed-in user const currentUser = await auth.getCurrentUser(); if (currentUser) { console.log('Current active user:', currentUser.uid); } else { console.log('No user currently signed in.'); } console.log('\nAttempting to sign out user...'); // Example: Sign out await auth.signOut(); console.log('User successfully signed out.'); } catch (error) { console.error('Authentication failed:', error.code || error.message); // As of v0.8.1, error messages are Firebase error codes. // Map these codes to user-friendly messages using the official Firebase docs or the library's wiki. } } runAuthDemo();
Debug
Known footguns
breakingError messages are no longer 'human friendly' English strings; instead, they are Firebase error code strings (e.g., 'auth/invalid-email'). You must implement your own mapping to user-friendly messages.
breakingThe `signInWithProvider` function no longer requires you to provide a list of supported providers during `Auth` instantiation. The function will now throw a server-returned error if a provider is unsupported.
gotchaThis library is in 'Beta' and 'work in progress'. The API is explicitly stated to change without warning until version 1.0 is released.
gotchaThe library only supports modern browsers and is written with modern JavaScript (Fetch API, localStorage). You are responsible for transpiling the code for wider browser compatibility (e.g., via Babel).
gotchaSessions can currently only be persisted in `localStorage`. More options may be added in future versions.
gotchaWhen setting up Federated Identity Providers (e.g., Google, Facebook OAuth), you must whitelist *your application's own URL* as the redirect URI, not the Firebase-provided `firebaseapp.com` endpoint.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
15 hits · last 30 days
gptbot
4
ahrefsbot
4
amazonbot
2
script
1
Resources