Search packages, repositories and app categories

Package detailsv4.0.1

flutter_auth_ui

Unofficial firebaseui package for flutter. This library aims to provide support for Android, iOS and the web. Login with Email, Phone, Google account and etc.

AndroidiOSWeb
30-day downloads
156
Likes
68
Pub points
140

Install package

flutter pub add flutter_auth_ui

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

flutter_auth_ui is an unofficial Flutter package inspired by FirebaseUI, designed to simplify authentication across Android, iOS, and web platforms. It provides pre-built UI components for common authentication flows, including email, phone, and Google sign-in. Built with Flutter's cross-platform capabilities, it aims to reduce boilerplate code while maintaining a consistent user experience. The package integrates seamlessly with Firebase Authentication and supports modern authentication patterns like passwordless login and multi-factor authentication.

Use cases

  • Implementing email/password login
  • Enabling Google sign-in
  • Adding phone number authentication
  • Building secure login flows on web
  • Supporting multi-platform apps

Key features

  • Pre-built authentication UIs
  • Cross-platform support (Android, iOS, Web)
  • Integration with Firebase Authentication
  • Passwordless and MFA support
  • Customizable themes and styling

Suitable for

  • Developers building cross-platform apps
  • Teams needing rapid authentication implementation
  • Projects using Firebase as backend
  • Apps requiring consistent auth UX across devices
  • Startups focused on fast MVP development

Considerations

  • Requires Firebase setup
  • Limited customization compared to native UI
  • Depends on external Firebase services
  • May need additional state management
  • Not officially maintained by Firebase

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

flutter_auth_ui

Unofficial firebaseui package for flutter. This library aims to provide support for Android, iOS and the web. Login with Email, Phone, Google account and etc.

Getting Started

This plugin is wrapped Android/iOS/Web native plugin.

Check documents and setup your firebase project.

How to use

// Set provider
final providers = [
  AuthUiProvider.anonymous,
  AuthUiProvider.email,
  AuthUiProvider.phone,
  AuthUiProvider.apple,
  AuthUiProvider.facebook,
  AuthUiProvider.github,
  AuthUiProvider.google,
  AuthUiProvider.microsoft,
  AuthUiProvider.yahoo,
  AuthUiProvider.twitter,
];

final result = await FlutterAuthUi.startUi(
  items: providers,
  tosAndPrivacyPolicy: const TosAndPrivacyPolicy(
    tosUrl: "https://www.google.com",
    privacyPolicyUrl: "https://www.google.com",
  ),
  androidOption: const AndroidOption(
    enableSmartLock: false, // default true
    showLogo: true, // default false
    overrideTheme: true, // default false
  ),
  emailAuthOption: const EmailAuthOption(
    requireDisplayName: true, // default true
    enableMailLink: false, // default false
    handleURL: '',
    androidPackageName: '',
    androidMinimumVersion: '',
  ),
);

Requirements

Android
  • minSdkVersion 21
  • compileSdkVersion 34
iOS
  • iOS 13 or higher

Link

Tips

EmailLink

Note: In order to implement EmailLink, you will need to prepare in advance; check the firebase documentation first.

Let's check the code sample for firebase auth.

Android

To handle dynamic link, add FlutterAuthUiPlugin.catchEmailLink to onCreate and onNewIntent. (If you don't use EmailLink, then you don't need to add it.)

import android.content.Intent;
import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.dr1009.app.flutter_auth_ui.FlutterAuthUiPlugin;

import io.flutter.embedding.android.FlutterActivity;

public class MainActivity extends FlutterActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // check intent
        FlutterAuthUiPlugin.catchEmailLink(this, getIntent());
    }

    @Override
    protected void onNewIntent(@NonNull Intent intent) {
        super.onNewIntent(intent);

        // check intent
        FlutterAuthUiPlugin.catchEmailLink(this, intent);
    }
}
Localizing
Android

Supported without any special settings.

iOS

Check Localizing for iOS: Updating the iOS app bundle.

Web

Check Installation - Option 1: CDN - Localized Widget.

To change the title of AppBar on Android

Add the string value as app_name or fui_default_toolbar_title to your app's strings.xml file. Sample code is strings.xml.

Behavior depends on FirebaseUI-Android.

Show Logo (Android)
  1. Add your logo resource file to android/app/src/main/res/drawable/flutter_auth_ui_logo.xml or android/app/src/main/res/drawable-{m~xxxhdpi}/flutter_auth_ui_logo.png
  2. Enable AndroidOption.showLogo
Change Appbar and link color (Android)
  1. Add flutter_auth_ui_style style to your android/app/src/main/res/values/style.xml
  1. Enable AndroidOption.overrideTheme

Categories

Dependencies

Dependency list 4 items

Source repository

Projects using this package

No data available yet.