easy_auth 0.2.1 copy "easy_auth: ^0.2.1" to clipboard
easy_auth: ^0.2.1 copied to clipboard

Widgets and classes that make it easy to add authentication to any Flutter app

example/lib/main.dart

import 'package:easy_auth/easy_auth.dart';
import 'package:example/basic_firebase_auth.dart';
import 'package:example/views/home.dart';
import 'package:example/views/login.dart';
import 'package:example/views/splash.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

class UserData extends EquatableUser {
  const UserData(this.birthday, DateTime createdAt, String? email)
      : super(id: '1', email: email, createdAt: createdAt);

  final String birthday;
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  GestureBinding.instance!.resamplingEnabled = true;
  await Firebase.initializeApp();
  runApp(
    MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const _MyApp(),
    ),
  );
}

class _MyApp extends AuthenticationBasedApp<UserData> {
  const _MyApp({Key? key}) : super(key: key);

  @override
  BasicFirebaseAuth<UserData> get repository => BasicFirebaseAuth<UserData>(
      transformer: (user) =>
          UserData('1-1-1970', user.metadata.creationTime!, user.email));

  @override
  Widget buildState(BuildContext context, AuthStatus status, UserData? user) {
    switch (status) {
      case AuthStatus.uninitialized:
        return const SplashScreenView();
      case AuthStatus.authenticated:
        return const HomeView();
      case AuthStatus.newAccount:
        return const HomeView.newAccount();
      case AuthStatus.authenticating:
      case AuthStatus.unauthenticated:
        return const LoginView();
    }
  }
}
13
likes
130
points
31
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Widgets and classes that make it easy to add authentication to any Flutter app

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

bloc, equatable, flutter, flutter_bloc, rxdart

More

Packages that depend on easy_auth