romankobrin / laravel-firebase
用于 Firebase PHP Admin SDK 的 Laravel 扩展包
Requires
- php: ^7.2|~8.0.0
- illuminate/contracts: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
- kreait/firebase-php: ^5.14.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^4.0|^5.0|^6.0
- roave/better-reflection: ^3.6|^4.6
README
这是一个为 Firebase PHP Admin SDK 提供的 Laravel 扩展包。
安装
此包需要 Laravel 6.x 或更高版本或 Lumen 6.x 或更高版本。
composer require kreait/laravel-firebase
如果您使用 Lumen 或不使用 Laravel 的包自动发现,请将以下服务提供者在 config/app.php (Laravel) 或 bootstrap/app.php (Lumen) 中添加
Laravel
<?php // config/app.php return [ // ... 'providers' => [ // ... Kreait\Laravel\Firebase\ServiceProvider::class ] // ... ];
Lumen
<?php // bootstrap/app.php $app->register(Kreait\Laravel\Firebase\ServiceProvider::class); // If you want to use the Facades provided by the package $app->withFacades();
升级
请参阅 UPGRADE.md 以获取升级说明。
配置
为了使用服务器 SDK 访问 Firebase 项目及其相关服务,必须对请求进行身份验证。对于服务器到服务器的通信,这通过服务帐户来完成。
该包使用自动发现来查找默认项目所需的凭据,以便通过检查某些环境变量和查看 Google 的已知路径来对 Firebase API 的请求进行身份验证。
如果您还没有生成服务帐户,可以按照官方文档页面上的说明进行操作,请参阅 https://firebase.google.com/docs/admin/setup#initialize_the_sdk。
一旦您下载了服务帐户 JSON 文件,您可以通过在 .env 文件中指定以 FIREBASE_ 开头的环境变量来配置该包。通常,以下内容对于包的正常工作是必需的
# relative or full path to the Service Account JSON file
FIREBASE_CREDENTIALS=
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://<your-project>.firebaseio.com
有关进一步配置的详细信息,请参阅 config/firebase.php。您可以通过将其复制到本地 config 目录或定义配置文件中使用的环境变量来修改配置
# Laravel php artisan vendor:publish --provider="Kreait\Laravel\Firebase\ServiceProvider" --tag=config # Lumen mkdir -p config cp vendor/kreait/laravel-firebase/config/firebase.php config/firebase.php
使用
一旦您检索到组件,请参阅 Firebase PHP Admin SDK 的文档 以获取有关如何使用它的更多信息。
您不需要也不应使用 SDK 文档中描述的 new Factory() 模式,这已经通过 Laravel 服务提供者为您完成。请使用依赖注入、门面或 app() 助手。
多个项目
可以通过向项目数组添加另一个部分在 config/firebase.php 中配置多个项目。
在访问组件时,门面使用默认项目。您还可以显式使用一个项目
use Kreait\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();
支持
许可证
Firebase Admin PHP SDK 采用 MIT 许可证 许可。
您对 Firebase 的使用受 Firebase 服务条款 的约束。