faui 2.0.33
faui: ^2.0.33 copied to clipboard
Authentication UI and data access for Flutter. Uses Firebase auth as security provider.
flutter-auth-ui (faui) #
faui is an authentication UI for Flutter. It registers users with email and password using Firebase security as a service ( SECaaS ). The library provides UI to register user, validate email, sign in, sign out and restore password. Supports silent sign in and access to Firestore.
Demos #
Find the source code here
Links #
Usage #
Create Project in Firebase #
If you want to test the library, use the demo project:
apiKey: "AIzaSyA3hshWKqeogfYiklVCCtDaWJW8TfgWgB4"
To create your own Firebase project:
- Sign in to firebase console https://console.firebase.google.com/
- Add, configure and open project
- In the project open tab "Authentication" and then tab "Sign-in Method"
- Click "Email/Password", set "Enable" and click "Save"
- Select "Project Settings" (gear icon)
- Copy your "Web API Key"
Set Dependency #
Update pubspec.yaml to make sure your project references necessary packages:
dependencies:
...
faui: <latest version>
Check <latest version>
here.
Update Code #
In the beginning of the method build
of the widget that requires
authentication (it should be stateful), add the code:
if (fauiUser == null) {
return fauiBuildAuthScreen(
onExit: this.setState((){...}),
firebaseApiKey: "...",
);
}
Import you need:
import 'package:faui/faui.dart';
Get user email:
fauiUser.email
Sign out:
fauiSignOut()
Silent sign-in:
// Before runApp:
WidgetsFlutterBinding.ensureInitialized();
await fauiTrySignInSilently(firebaseApiKey: '...');
...
// After sign in with dialog:
fauiSaveUserLocallyForSilentSignIn();
Custom Layout and Language #
To customize UI and/or language, invoke fauiBuildCustomAuthScreen instead of fauiBuildAuthScreen.
See the demo for the details.
Use the Retrieved Token to Access Your Data to Firestore #
Configure basic security rules for your Firestore database. Then utilize the class FauiDbAccess.
See the demo for the details.
Contribute #
Run Tests #
flutter pub run test
Meet Coding Style #
We follow dart styling.