Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork181
A Laravel package for the Firebase PHP Admin SDK
License
kreait/laravel-firebase
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A Laravel package for theFirebase PHP Admin SDK.
Please read about the future of the Firebase Admin PHP SDK on theSDK's GitHub Repository.
composer require kreait/laravel-firebase
In order to access a Firebase project and its related services using a server SDK, requests must be authenticated.For server-to-server communication this is done with a Service Account.
If you don't already have generated a Service Account, you can do so by following the instructions from theofficial documentation pages athttps://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
Once you have downloaded the Service Account JSON file, you can configure the package by specifyingenvironment variables starting withFIREBASE_ in your.env file. Usually, the following arerequired for the package to work:
# You can find the database URL for your project at# https://console.firebase.google.com/project/_/databaseFIREBASE_DATABASE_URL=https://<your-project>.firebaseio.comFor further configuration, please seeconfig/firebase.php. You can modify the configurationby copying it to your localconfig directory or by defining the environment variables used in the config file:
# Laravelphp artisan vendor:publish --provider="Kreait\Laravel\Firebase\ServiceProvider" --tag=config
The package uses auto discovery for the default project to find the credentials needed for authenticating requests tothe Firebase APIs by inspecting certain environment variables and looking into Google's well known path(s).
If you don't want a service account to be auto-discovered, provide it by setting theFIREBASE_CREDENTIALS orGOOGLE_APPLICATION_CREDENTIALS environment variable or by adapting the package configuration, like so for example:
FIREBASE_CREDENTIALS=storage/app/firebase-auth.json
If you prefer to have more control over the configuration items required to configure the credentials, you can also transpose the Service Account JSON file as an array within yourconfig/firebase.php file.
'credentials' => ['type' =>'service_account','project_id' =>'some-project-123','private_key_id' =>'123456789','private_key' =>'-----BEGIN PRIVATE KEY-----\nFOO_BAR_123456789\n-----END PRIVATE KEY-----\n','client_email' =>'firebase-adminsdk-cwiuo@some-project-123.iam.gserviceaccount.com','client_id' =>'123456789','auth_uri' =>'https://accounts.google.com/o/oauth2/auth','token_uri' =>'https://oauth2.googleapis.com/token','auth_provider_x509_cert_url' =>'https://www.googleapis.com/oauth2/v1/certs','client_x509_cert_url' =>'https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-cwiuo%40some-project-123.iam.gserviceaccount.com','universe_domain' =>'googleapis.com',],
Once you have retrieved a component, please refer to thedocumentation of the Firebase PHP Admin SDKfor further information on how to use it.
You don't need and should not use thenew Factory() pattern described in the SDK documentation, this is alreadydone for you with the Laravel Service Provider. Use Dependency Injection, the Facades or theapp() helper instead
Multiple projects can be configured inconfig/firebase.php by adding another section to the projects array.
When accessing components, the facade uses the default project. You can also explicitly use a project:
useKreait\Laravel\Firebase\Facades\Firebase;// Return an instance of the Auth component for the default Firebase project$defaultAuth = Firebase::auth();// Return an instance of the Auth component for a specific Firebase project$appAuth = Firebase::project('app')->auth();$anotherAppAuth = Firebase::project('another-app')->auth();
Only the latest version is actively supported.
Earlier versions will receive security fixes as long as theirlowest SDK requirement receives security fixes. Youcan find the currently supported versions and support options in theSDK's README.
| Version | Initial Release | Supported SDK Versions | Supported Laravel Versions | Status |
|---|---|---|---|---|
6.x | 24 Feb 2025 | ^7.0 | ^11.0,^12.0 | Active |
5.x | 13 Jan 2023 | ^7.0 | ^9.0,^10.0,^11.0 | Paid support |
4.x | 09 Jan 2022 | ^6.0 | ^8.0 | End of life |
3.x | 01 Nov 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | End of life |
2.x | 01 Apr 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | End of life |
1.x | 17 Aug 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | End of life |
This project is licensed under theMIT License.
Your use of Firebase is governed by theTerms of Service for Firebase Services.
About
A Laravel package for the Firebase PHP Admin SDK
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.