{"id":15566872,"url":"https://github.com/polina-c/flutter-auth-ui","last_synced_at":"2025-10-27T10:06:50.876Z","repository":{"id":56828689,"uuid":"197096913","full_name":"polina-c/flutter-auth-ui","owner":"polina-c","description":"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..","archived":false,"fork":false,"pushed_at":"2021-01-23T20:07:03.000Z","size":295,"stargazers_count":56,"open_issues_count":1,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T07:29:37.523Z","etag":null,"topics":["access-firestore","authentication","firebase","firebase-auth","firestore","flutter","flutter-web","registers-users"],"latest_commit_sha":null,"homepage":"https://flatter-auth-ui-demo1.codemagic.app/#/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polina-c.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-16T01:19:20.000Z","updated_at":"2025-02-20T00:52:00.000Z","dependencies_parsed_at":"2022-08-28T21:11:11.381Z","dependency_job_id":null,"html_url":"https://github.com/polina-c/flutter-auth-ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polina-c%2Fflutter-auth-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polina-c%2Fflutter-auth-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polina-c%2Fflutter-auth-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polina-c%2Fflutter-auth-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polina-c","download_url":"https://codeload.github.com/polina-c/flutter-auth-ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535084,"owners_count":21446505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access-firestore","authentication","firebase","firebase-auth","firestore","flutter","flutter-web","registers-users"],"created_at":"2024-10-02T17:08:00.507Z","updated_at":"2025-10-27T10:06:50.789Z","avatar_url":"https://github.com/polina-c.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flutter-auth-ui (faui)\n**faui** is an authentication UI for Flutter. \nIt registers users with email and password using Firebase security as a service \n( [SECaaS]( https://en.wikipedia.org/wiki/Security_as_a_service) ).\nThe library provides UI to register user, validate email, sign in, sign out and restore password.\nSupports silent sign in and access to Firestore.\n\n## Demos\n\n[Sign in on application load](https://flatter-auth-ui-demo0.codemagic.app/#/)\n\n[Sign in on button click](https://flatter-auth-ui-demo1.codemagic.app/#/)\n\n[Custom layout and phrasing](https://flatter-auth-ui-demo2.codemagic.app/#/)\n\n[Use token to access Firestore](https://flatter-auth-ui-demo3.codemagic.app/#/)\n\nFind the source code [here](https://github.com/polina-c/flutter-auth-ui/tree/master/example)\n\n## Links\n\n[Pub package](https://pub.dev/packages/faui)\n\n[Demo source code](https://github.com/polina-c/flutter-auth-ui/tree/master/example)\n\n[Package source code](https://github.com/polina-c/flutter-auth-ui)\n\n\n## Usage\n\n\n### Create Project in Firebase\nIf you want to test the library, use the demo project:\n  \n`apiKey: \"AIzaSyA3hshWKqeogfYiklVCCtDaWJW8TfgWgB4\"`\n\nTo create your own Firebase project:\n\n1. Sign in to firebase console https://console.firebase.google.com/\n1. Add, configure and open project\n1. In the project open tab \"Authentication\" and then tab \"Sign-in Method\"\n1. Click \"Email/Password\", set \"Enable\" and click \"Save\"\n1. Select \"Project Settings\" (gear icon)\n1. Copy your \"Web API Key\"\n\t\n### Set Dependency\nUpdate pubspec.yaml to make sure your project references necessary packages:\n```\ndependencies:\n  ...\n  faui: \u003clatest version\u003e\n```\nCheck `\u003clatest version\u003e` [here](https://pub.dev/packages/faui).\n\n### Update Code\n\nIn the beginning of the method `build` of the widget that requires \nauthentication (it should be stateful), add the code:\n```\nif (fauiUser == null) {\n  return fauiBuildAuthScreen(\n    onExit: this.setState((){...}),\n    firebaseApiKey: \"...\",\n  );\n}\n```\n\n\nImport you need:\n```\nimport 'package:faui/faui.dart';\n```\n\n\nGet user email:\n\n```\nfauiUser.email\n```\n\n\nSign out: \n```\nfauiSignOut()\n```\n\n\nSilent sign-in:\n```\n\n// Before runApp:\nWidgetsFlutterBinding.ensureInitialized();\nawait fauiTrySignInSilently(firebaseApiKey: '...');\n...\n\n// After sign in with dialog:\nfauiSaveUserLocallyForSilentSignIn();\n``` \n\n## Custom Layout and Language\n\nTo customize UI and/or language, invoke fauiBuildCustomAuthScreen instead of fauiBuildAuthScreen.\n\nSee [the demo](https://github.com/polina-c/flutter-auth-ui/tree/master/example/custom_ui) for the details.\n\n## Use the Retrieved Token to Access Your Data to Firestore\n\n\nConfigure [basic security rules](https://firebase.google.com/docs/rules/basics?authuser=0) \nfor your Firestore database.\nThen utilize the class FauiDbAccess.\n\nSee [the demo](https://github.com/polina-c/flutter-auth-ui/tree/master/example/access_data) for the details.\n\n\n# Contribute\n\n## Run Tests\n\n```\nflutter pub run test\n```\n\n## Meet Coding Style\n\nWe follow [dart styling](export).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolina-c%2Fflutter-auth-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolina-c%2Fflutter-auth-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolina-c%2Fflutter-auth-ui/lists"}