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();
    }
  }
}
12
likes
110
pub points
0%
popularity

Publisher

unverified uploader

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

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

MIT (LICENSE)

Dependencies

bloc, equatable, flutter, flutter_bloc, rxdart

More

Packages that depend on easy_auth