{"id":15066400,"url":"https://github.com/skycoder42/firebase_auth_rest","last_synced_at":"2026-02-22T10:01:35.642Z","repository":{"id":56828801,"uuid":"289207007","full_name":"Skycoder42/firebase_auth_rest","owner":"Skycoder42","description":"A platform independent Dart/Flutter Wrapper for the Firebase Authentication API based on REST","archived":false,"fork":false,"pushed_at":"2025-03-16T14:10:17.000Z","size":1914,"stargazers_count":16,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T14:04:08.893Z","etag":null,"topics":["cross-platform","dart","dart-package","firebase-auth","flutter","flutter-package","http"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/firebase_auth_rest","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Skycoder42.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-21T07:30:28.000Z","updated_at":"2025-04-09T10:16:42.000Z","dependencies_parsed_at":"2025-04-12T03:46:09.872Z","dependency_job_id":null,"html_url":"https://github.com/Skycoder42/firebase_auth_rest","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/Skycoder42/firebase_auth_rest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skycoder42%2Ffirebase_auth_rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skycoder42%2Ffirebase_auth_rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skycoder42%2Ffirebase_auth_rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skycoder42%2Ffirebase_auth_rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Skycoder42","download_url":"https://codeload.github.com/Skycoder42/firebase_auth_rest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skycoder42%2Ffirebase_auth_rest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262402550,"owners_count":23305657,"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":["cross-platform","dart","dart-package","firebase-auth","flutter","flutter-package","http"],"created_at":"2024-09-25T01:07:15.934Z","updated_at":"2025-10-13T02:04:45.582Z","avatar_url":"https://github.com/Skycoder42.png","language":"Dart","readme":"# firebase_auth_rest\n[![CI/CD](https://github.com/Skycoder42/firebase_auth_rest/actions/workflows/ci.yaml/badge.svg)](https://github.com/Skycoder42/firebase_auth_rest/actions/workflows/ci.yaml)\n[![Pub Version](https://img.shields.io/pub/v/firebase_auth_rest)](https://pub.dev/packages/firebase_auth_rest)\n\nA platform independent Dart/Flutter Wrapper for the Firebase Authentication API based on REST\n\n## Features\n- Pure Dart-based implementation\n  - works on all platforms supported by dart\n- Uses the official REST-API endpoints\n- Provides high-level classes to manage authentication and users\n- Supports multiple parallel Logins of different users\n- Supports automatic background refresh\n- Supports all login methods\n- Proivides low-level REST classes for direct API access (import `firebase_auth_rest/rest.dart`)\n\n## Installation\nSimply add `firebase_auth_rest` to your `pubspec.yaml` and run `pub get` (or `flutter pub get`).\n\n## Usage\nThe libary consists of two primary classes - the `FirebaseAuth` and the `FirebaseAccount`. You can use the `FirebaseAuth` class to perform \"global\" API actions that are not directly tied to a logged in user - This are things like creating accounts and signing in a user, but also functions like resetting a password that a user has forgotten.\n\nThe sign in/up methods of `FirebaseAuth` will provide you with a `FirebaseAccount`. It holds the users authentication data, like an ID-Token, and can be used to perform various account related operations, like changing the users email address or getting the full user profile. It also automatically refreshes the users credentials shortly before timeout - allthough that can be disabled and done manually.\n\nThw following code is a simple example, which can be found in full length, including errorhandling, at https://pub.dev/packages/firebase_auth_rest/example. It loggs into firebase as anonymous user, prints credentials and account details and then proceeds to permanently delete the account.\n\n```.dart\n// Create auth instance and sign up as anonymous user\nfinal fbAuth = FirebaseAuth(Client(), \"API-KEY\");\nfinal account = await fbAuth.signUpAnonymous();\n\n// print credentials und user details\nprint(\"Local-ID: ${account.localId}\");\nfinal userInfo = await account.getDetails();\nprint(\"User-Info: $userInfo\");\n\n// delete and dispose the account\nawait account.delete();\naccount.dispose();\n```\n\n## Documentation\nThe documentation is available at https://pub.dev/documentation/firebase_auth_rest/latest/. A full example can be found at https://pub.dev/packages/firebase_auth_rest/example.\n\n## Testing\nIf you intend to run the integration tests, you will have to create a firebase project with the authentication enabled. You must enable E-Mail and anonymous authentication and disable the E-Mail enumeration protection. **Note:** This is *only* required to run the integration tests. For a normal firebase project you should never disable E-Mail enumeration protection. Finally, you have to create a `.env` file with the `FIREBASE_API_KEY` from the project.\n\nAlternatively you can use the [firebase emulator](https://firebase.google.com/docs/emulator-suite) for testing. In that case, you will have to set the `FIREBASE_EMULATOR_HOST` and `FIREBASE_EMULATOR_PORT` in the `.env` file as well.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskycoder42%2Ffirebase_auth_rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskycoder42%2Ffirebase_auth_rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskycoder42%2Ffirebase_auth_rest/lists"}