docs: getting started documentation for web FirebaseUI v7#1340
docs: getting started documentation for web FirebaseUI v7#1340russellwheatley wants to merge 6 commits intomainfrom
Conversation
russellwheatley
commented
Mar 20, 2026
- Wrote a getting started document for the latest FirebaseUI web library to mirror closely the previous: https://firebase.google.com/docs/auth/web/firebaseui
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request adds a comprehensive getting started guide for the latest FirebaseUI for Web library. It provides developers with step-by-step instructions on how to integrate FirebaseUI into their web applications, covering installation, initialization, authentication method setup, and UI customization for React, Shadcn, and Angular platforms. The guide also highlights key differences from the previous FirebaseUI version and offers migration guidance. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive "Getting Started" guide that mirrors the structure of the classic FirebaseUI documentation. The guide is well-written and covers installation and usage for React, Shadcn, and Angular, along with key features like authentication methods, UI customization, and behaviors. I've identified a couple of minor inconsistencies in the documentation that should be addressed to ensure clarity for developers. My detailed feedback is in the comments below.
|
|
||
| ## Initialize FirebaseUI | ||
|
|
||
| The old library used a widget instance and `ui.start(...)`. The new library uses a shared UI store created with `initializeUI(...)`. |
There was a problem hiding this comment.
Do we need to make references to the old library. This document could be seen as just the most relevant version?
There was a problem hiding this comment.
I think it helps users understand the difference between them so it makes it easier to migrate, see what @jhuleatt thinks
There was a problem hiding this comment.
Let's remove all references to the old library, except in the migration guide blurb above
|
CI failure is addressed in this PR: #1345 |
|
@jhuleatt - if you want to take a pass at this, I'd be grateful 🙏 |
| FirebaseUI for Web is a set of libraries built on the [Firebase Authentication](https://firebase.google.com/docs/auth) JavaScript SDK. Like the classic `firebaseui` package, it helps you ship authentication flows quickly, but the latest version is a complete rewrite with a modern modular architecture. | ||
|
|
||
| FirebaseUI for Web now provides these benefits: | ||
|
|
||
| - Modern modular SDK support with `initializeApp(...)` and the current Firebase JS SDK. | ||
| - Composable screens, forms, and buttons instead of a single monolithic widget. | ||
| - Support for React, Shadcn, and Angular. | ||
| - Configurable behaviors for redirect vs popup flows, Google One Tap, anonymous upgrade, phone settings, and more. | ||
| - Localization support via `@firebase-oss/ui-translations`. | ||
| - Built-in support for email/password, email link, phone auth, OAuth providers, and multi-factor flows. |
There was a problem hiding this comment.
Instead of comparing to the old package, this should just list features that would be useful to someone that has never used FirebaseUI before. I think it will end up being a fusion of this list and the list that's currently in the docs
| - Localization support via `@firebase-oss/ui-translations`. | ||
| - Built-in support for email/password, email link, phone auth, OAuth providers, and multi-factor flows. | ||
|
|
||
| If you are migrating from the old `firebaseui` package, read [MIGRATION.md](MIGRATION.md) alongside this guide. |
There was a problem hiding this comment.
| If you are migrating from the old `firebaseui` package, read [MIGRATION.md](MIGRATION.md) alongside this guide. | |
| Note: If you are migrating from FirebaseUI v6 or earlier, read [the migration guide](https://github.com/firebase/firebaseui-web/blob/main/MIGRATION.md) in the FirebaseUI repository. |
|
|
||
| If you are migrating from the old `firebaseui` package, read [MIGRATION.md](MIGRATION.md) alongside this guide. | ||
|
|
||
| This document follows the same overall flow as the [classic FirebaseUI Web documentation](https://firebase.google.com/docs/auth/web/firebaseui), but updated for the current version of FirebaseUI for Web. |
| 2. Use the modular Firebase JS SDK: | ||
|
|
||
| ```ts | ||
| import { initializeApp } from 'firebase/app'; | ||
|
|
||
| const app = initializeApp({ | ||
| /* your Firebase config */ | ||
| }); | ||
| ``` | ||
|
|
||
| 3. Install `firebase` if it is not already in your project: | ||
|
|
||
| ```bash | ||
| npm install firebase | ||
| ``` | ||
|
|
There was a problem hiding this comment.
these can be sub-steps of step 1. They're also out of order (need to install Firebase first)
| - `@firebase-oss/ui-react` for React apps | ||
| - the FirebaseUI Shadcn registry for Shadcn-based apps | ||
| - `@firebase-oss/ui-angular` with AngularFire for Angular apps |
There was a problem hiding this comment.
| - `@firebase-oss/ui-react` for React apps | |
| - the FirebaseUI Shadcn registry for Shadcn-based apps | |
| - `@firebase-oss/ui-angular` with AngularFire for Angular apps | |
| - the FirebaseUI Shadcn registry for [shadcn/ui](https://ui.shadcn.com/)-based React apps | |
| - `@firebase-oss/ui-angular` with AngularFire for Angular apps | |
| - `@firebase-oss/ui-react` for React apps without shadcn/ui |
There was a problem hiding this comment.
Let's reorder to shadcn-first
| ### Email link authentication | ||
|
|
||
| 1. Enable **Email/Password** and **Email link (passwordless sign-in)** in the Firebase console. | ||
| 2. Render the email link components from your platform package. |
There was a problem hiding this comment.
as you mention the specific components in "Email address and password", let's do that for every method
|
|
||
| ## Sign in | ||
|
|
||
| Instead of calling `ui.start('#container', config)`, render the auth screen you want and handle success in component callbacks or Angular outputs. |
There was a problem hiding this comment.
| Instead of calling `ui.start('#container', config)`, render the auth screen you want and handle success in component callbacks or Angular outputs. | |
| Render the auth screen you want and handle success in component callbacks or Angular outputs. |
| ## Upgrading anonymous users | ||
|
|
||
| The old library supported anonymous account upgrade with `autoUpgradeAnonymousUsers` plus `signInFailure` merge handling. The new library keeps the capability, but it is now configured as a behavior. |
There was a problem hiding this comment.
remove reference to the old library
| }; | ||
| ``` | ||
|
|
||
| ## Upgrading anonymous users |
There was a problem hiding this comment.
I'm wondering if this should go under a new "Customize behavior" heading, along with the require username behavior
|
|
||
| ## Translations | ||
|
|
||
| FirebaseUI for Web supports localization through `@firebase-oss/ui-translations`. At the moment, a couple of locales are bundled out of the box, including English (`en-US`) and Czech (`cs-CZ`). You can also register and use your own locale overrides today, and PRs to add more built-in languages are welcomed. |
There was a problem hiding this comment.
interesting, was Czech a community contribution?
maybe we can have Gemini generate a bunch of different languages