Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/polina-c/flutter-auth-ui
flutter-auth-ui is an authentication library for flutter web applications. It uses Firebase auth as security as a service (SECaaS) provider. It implements UI to register user, validate email, sign in, sign out, restore password, access firestore..
https://github.com/polina-c/flutter-auth-ui
access-firestore authentication firebase firebase-auth firestore flutter flutter-web registers-users
Last synced: 19 days ago
JSON representation
flutter-auth-ui is an authentication library for flutter web applications. It uses Firebase auth as security as a service (SECaaS) provider. It implements UI to register user, validate email, sign in, sign out, restore password, access firestore..
- Host: GitHub
- URL: https://github.com/polina-c/flutter-auth-ui
- Owner: polina-c
- License: apache-2.0
- Created: 2019-07-16T01:19:20.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-23T20:07:03.000Z (almost 4 years ago)
- Last Synced: 2024-10-09T17:27:11.466Z (30 days ago)
- Topics: access-firestore, authentication, firebase, firebase-auth, firestore, flutter, flutter-web, registers-users
- Language: Dart
- Homepage: https://flatter-auth-ui-demo1.codemagic.app/#/
- Size: 288 KB
- Stars: 57
- Watchers: 2
- Forks: 18
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 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]( https://en.wikipedia.org/wiki/Security_as_a_service) ).
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
[Sign in on application load](https://flatter-auth-ui-demo0.codemagic.app/#/)
[Sign in on button click](https://flatter-auth-ui-demo1.codemagic.app/#/)
[Custom layout and phrasing](https://flatter-auth-ui-demo2.codemagic.app/#/)
[Use token to access Firestore](https://flatter-auth-ui-demo3.codemagic.app/#/)
Find the source code [here](https://github.com/polina-c/flutter-auth-ui/tree/master/example)
## Links
[Pub package](https://pub.dev/packages/faui)
[Demo source code](https://github.com/polina-c/flutter-auth-ui/tree/master/example)
[Package source code](https://github.com/polina-c/flutter-auth-ui)
## Usage
### Create Project in Firebase
If you want to test the library, use the demo project:
`apiKey: "AIzaSyA3hshWKqeogfYiklVCCtDaWJW8TfgWgB4"`To create your own Firebase project:
1. Sign in to firebase console https://console.firebase.google.com/
1. Add, configure and open project
1. In the project open tab "Authentication" and then tab "Sign-in Method"
1. Click "Email/Password", set "Enable" and click "Save"
1. Select "Project Settings" (gear icon)
1. Copy your "Web API Key"
### Set Dependency
Update pubspec.yaml to make sure your project references necessary packages:
```
dependencies:
...
faui:
```
Check `` [here](https://pub.dev/packages/faui).### 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](https://github.com/polina-c/flutter-auth-ui/tree/master/example/custom_ui) for the details.
## Use the Retrieved Token to Access Your Data to Firestore
Configure [basic security rules](https://firebase.google.com/docs/rules/basics?authuser=0)
for your Firestore database.
Then utilize the class FauiDbAccess.See [the demo](https://github.com/polina-c/flutter-auth-ui/tree/master/example/access_data) for the details.
# Contribute
## Run Tests
```
flutter pub run test
```## Meet Coding Style
We follow [dart styling](export).