firebase_auth 0.18.4+1 firebase_auth: ^0.18.4+1 copied to clipboard
Flutter plugin for Firebase Auth, enabling Android and iOS authentication using passwords, phone numbers and identity providers like Google, Facebook and Twitter.
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_signin_button/button_builder.dart';
import './register_page.dart';
import './signin_page.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(AuthExampleApp());
}
/// The entry point of the application.
///
/// Returns a [MaterialApp].
class AuthExampleApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Firebase Example App',
theme: ThemeData.dark(),
home: Scaffold(
body: AuthTypeSelector(),
));
}
}
/// Provides a UI to select a authentication type page
class AuthTypeSelector extends StatelessWidget {
// Navigates to a new page
void _pushPage(BuildContext context, Widget page) {
Navigator.of(context).push(
MaterialPageRoute<void>(builder: (_) => page),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Firebase Example App"),
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
child: SignInButtonBuilder(
icon: Icons.person_add,
backgroundColor: Colors.indigo,
text: 'Registration',
onPressed: () => _pushPage(context, RegisterPage()),
),
padding: const EdgeInsets.all(16),
alignment: Alignment.center,
),
Container(
child: SignInButtonBuilder(
icon: Icons.verified_user,
backgroundColor: Colors.orange,
text: 'Sign In',
onPressed: () => _pushPage(context, SignInPage()),
),
padding: const EdgeInsets.all(16),
alignment: Alignment.center,
),
],
),
);
}
}