Firebase Auth in FlutterInit: What Gets Wired Up Automatically

Guidebackend#firebase#auth#flutter#flutterinit

FlutterInit wires Firebase Auth email/password, AppConfig init, AuthService, and repository hooks — you still add google-services and API keys.

Arjun Mahar
Arjun Mahar@arjun_mahar1
1 min read

Stack Configuration — what FlutterInit generates for this guide

Architecture
Clean Architecture
State Management
Riverpod
Backend
Firebase
Navigation
go_router

When to choose this stack

Choose Firebase when you want Google’s auth + ecosystem (Analytics, Crashlytics, FCM) and FlutterInit’s email-password scaffold as the starting point.

Select Firebase as the backend and FlutterInit doesn’t stop at a firebase_auth dependency. It initializes Firebase in app startup/config, swaps in a real AuthService, and connects repositories so login/signup/forgot-password screens already call something real.

What gets wired

  1. Dependenciesfirebase_core, firebase_auth (and related bits per template)
  2. AppConfig / main — Firebase initialization path for your platforms
  3. AuthService — email/password login, signup, reset, logout, auth state
  4. Repository → presentation — Clean/Feature-First/MVVM state objects call the repo, not the SDK from widgets
  5. SETUP.md — where to drop google-services.json / GoogleService-Info.plist

You still create a Firebase project and add platform config files. The scaffold doesn’t magically know your project ID.

What AuthService looks like (pattern)

Firebase auth methods run inside runTask and return Either-style results — same shape as Supabase/Appwrite services — so swapping backends later doesn’t rewrite every screen.

What you add next

  • Google / Apple sign-in providers
  • Phone auth
  • Security rules / Firestore data (auth alone isn’t your database)

Generate Firebase auth on /create, then follow SETUP.md before flutter run.

Ready to build?

Generate this project in seconds

FlutterInit scaffolds the entire structure described in this guide — wired up, typed, and ready for flutter run.

Start Generating →