Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Laravel package for the Firebase PHP Admin SDK

License

NotificationsYou must be signed in to change notification settings

kreait/laravel-firebase

Repository files navigation

A Laravel package for theFirebase PHP Admin SDK.

Current versionMonthly DownloadsTotal DownloadsTestscodecovSponsor


The future of the Firebase Admin PHP SDK

Please read about the future of the Firebase Admin PHP SDK on theSDK's GitHub Repository.


Installation

composer require kreait/laravel-firebase

Configuration

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.com

For 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

Credentials with JSON files

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

Credentials with Arrays

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',],

Usage

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

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();

Supported Versions

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.

VersionInitial ReleaseSupported SDK VersionsSupported Laravel VersionsStatus
6.x24 Feb 2025^7.0^11.0,^12.0Active
5.x13 Jan 2023^7.0^9.0,^10.0,^11.0Paid support
4.x09 Jan 2022^6.0^8.0End of life
3.x01 Nov 2020^5.24^6.0, ^7.0, ^8.0End of life
2.x01 Apr 2020^5.0^5.8, ^6.0, ^7.0, ^8.0End of life
1.x17 Aug 2019^4.40.1^5.8, ^6.0, ^7.0End of life

License

This project is licensed under theMIT License.

Your use of Firebase is governed by theTerms of Service for Firebase Services.

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp