DEV Community

Cover image for Angular Firebase Authentication Update: v.19
Ayyash
Ayyash

Posted on • Originally published at garage.sekrab.com

4

Angular Firebase Authentication Update: v.19

Last time we had Firebase Auth integrated at Angular 17. Here is a quick update to keep it fresh in Angular 19.

Providers

Before update, our main.ts looked like this

// main.ts before
const fbApp = () => initializeApp(firebaeConfigHere);
const authApp = () => initializeAuth(fbApp(), {
  persistence: browserSessionPersistence,
  popupRedirectResolver: browserPopupRedirectResolver
});

const firebaseProviders: EnvironmentProviders = importProvidersFrom([
  provideFirebaseApp(fbApp),
  provideAuth(authApp),
]);

bootstrapApplication(AppComponent, {
  providers: [
      // ...
    firebaseProviders
  ],
});
Enter fullscreen mode Exit fullscreen mode

The updates touch the importProvidersFrom, it not longer is needed

// main.ts thew new

const firebaseProviders = [
  provideFirebaseApp(fbApp),
  provideAuth(authApp),
];

bootstrapApplication(AppComponent, {
  providers: [
    // expand it
    ...firebaseProviders
  ],
});
Enter fullscreen mode Exit fullscreen mode

APP_INITIALIZER token

One way to inject the AuthState on application start was to use the APP_INITIALIZER token with no return, and one injection, like this

  {
    provide: APP_INITIALIZER,
    // dummy factory
    useFactory: () => () => {},
    multi: true,
    // injected depdencies, this will be constructed immidiately
    deps: [AuthState],
  },
Enter fullscreen mode Exit fullscreen mode

This simply becomes this:

// new provider
  provideAppInitializer(() => {
    inject(AuthState);
    return null;
  }),
Enter fullscreen mode Exit fullscreen mode

That's it. Looks like the new Firebase library still works as designed.

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free