firebase_ui_auth 1.0.2 copy "firebase_ui_auth: ^1.0.2" to clipboard
firebase_ui_auth: ^1.0.2 copied to clipboard

outdated

Pre-built widgets library that are integrated with the variety of the Firebase Auth providers.

Firebase UI Auth #

pub package

Firebase UI Auth is a set of Flutter widgets and utilities designed to help you build and integrate your user interface with Firebase Authentication.

Please contribute to the discussion with feedback.

Platoform support #

Feature/platform Android iOS Web macOS Windows Linux
Email ✓ ✓ ✓ ✓ ✓ (1) ✓ (1)
Phone ✓ ✓ ✓ ╳ ╳ ╳
Email link ✓ ✓ ╳ ╳ ╳ ╳
Email verification ✓ ✓ ✓ (2) ✓ (2) ✓ (1) ✓ (1)
Sign in with Apple ✓ ✓ ✓ ✓ ╳ ╳
Google Sign in ✓ ✓ ✓ ✓ ✓ (1) ✓ (1)
Twitter Login ✓ ✓ ✓ ✓ ✓ (1) ✓ (1)
Facebook Sign in ✓ ✓ ✓ ✓ ✓ (1) ✓ (1)
  1. Available with flutterfire_desktop
  2. No deep-linking into app, so email verification link opens a web page

Installation #

flutter pub add firebase_ui_auth

Getting Started #

Here's a quick example that shows how to build a SignInScreen and ProfileScreen in your app

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_ui_auth/firebase_ui_auth.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    const providers = [EmailAuthProvider()];

    return MaterialApp(
      initialRoute: FirebaseAuth.instance.currentUser == null ? '/sign-in' : '/profile',
      routes: {
        '/sign-in': (context) {
          return SignInScreen(
            providers: providers,
            actions: [
              AuthStateChangeAction<SignedIn>((context, state) {
                Navigator.pushReplacementNamed(context, '/profile');
              }),
            ],
          );
        },
        '/profile': (context) {
          return ProfileScreen(
            providers: providers,
            actions: [
              SignedOutAction((context) {
                Navigator.pushReplacementNamed(context, '/sign-in');
              }),
            ],
          );
        },
      },
    );
  }
}

Learn more here.

Roadmap / Features #