flutter_auth_firebase 0.3.0
flutter_auth_firebase: ^0.3.0

discontinued

A FlutterFire wrapper and abstraction

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 #

  • [x] 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.