flutter_auth_firebase

A FlutterFire wrapper and abstraction


License
MIT

Documentation

flutter_auth_firebase

This package is a wrapper to FlutterFire package so that it can be used with the Authentication Starter project

https://pub.dartlang.org/packages/flutter_auth_firebase

Setup

As a prerequisite to using firebase authentication you need to follow the instruction provided by the FlutterFire package.

At a minumum the dependencies required are:

Implement

Example code of using the package

The Google provider is from https://github.com/aqwert/flutter_auth_firebase_google

Imports:

import 'package:flutter_auth_base/flutter_auth_base.dart';
import 'package:flutter_auth_firebase/flutter_auth_firebase.dart';
AuthService createFirebaseAuthService() {
  var authService = new FirebaseAuthService();
  authService.authProviders.addAll([
    new FirebaseEmailProvider(service: authService),
    new FirebaseGoogleProvider(service: authService)
  ]);
  authService.linkProviders.addAll([
    new FirebaseEmailProvider(service: authService),
    new FirebaseGoogleProvider(service: authService)
  ]);

  return authService;
}

.authProviders

These are the authentication providers that are supported by the application and need to be set within the Firebase console. The ones supported by this package are:

  • Email with Password
  • Google Signin

.linkProviders

These represent the authenticaton providers that allow linking or connecting multiple accounts together which is supported by Firebase

.preAuthPhotoProvider, .postAuthPhotoProvider

Additionally the authService.preAuthPhotoProvider and/or authService.postAuthPhotoProvider can be configured to return a profile picture. See the flutter_auth_starter project for details.

TODO

  • Google provider
  • Twitter provider
  • Facebook provider
  • Anonymous Signin
  • Passwordless signin
  • Verification by phone

Issues and Feedback

Since this is based on the FlutterFire package there are some things not yet implemented in order for this package to be supported.

Please create an issue to provide feedback or an issue.