Firebase PHP Admin SDK 的 Laravel 包。
请在 SDK 的 GitHub 存储库上了解 Firebase Admin PHP SDK 的未来。
composer require kreait/laravel-firebase
为了使用服务器 SDK 访问 Firebase 项目及其相关服务,必须对请求进行身份验证。对于服务器到服务器的通信,这是通过服务帐户完成的。
如果您尚未生成服务帐户,则可以按照官方文档页面 https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments 中的说明进行操作。
下载服务帐户 JSON 文件后,您可以通过在.env
文件中指定以FIREBASE_
开头的环境变量来配置包。通常,该包需要满足以下条件才能工作:
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
如需进一步配置,请参阅 config/firebase.php。您可以通过将配置复制到本地config
目录或定义配置文件中使用的环境变量来修改配置:
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
该包使用默认项目的自动发现功能,通过检查某些环境变量并查看 Google 众所周知的路径来查找对 Firebase API 请求进行身份验证所需的凭据。
如果您不希望自动发现服务帐户,请通过设置FIREBASE_CREDENTIALS
或GOOGLE_APPLICATION_CREDENTIALS
环境变量或通过调整包配置来提供它,例如:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
如果您希望对配置凭据所需的配置项有更多控制,您还可以将服务帐户 JSON 文件转置为config/firebase.php
文件中的数组。
' credentials ' => [
' type ' => ' service_account ' ,
' project_id ' => ' some-project-123 ' ,
' private_key_id ' => ' 123456789 ' ,
' private_key ' => ' -----BEGIN PRIVATE KEY-----nFOO_BAR_123456789n-----END PRIVATE KEY-----n ' ,
' client_email ' => ' [email protected] ' ,
' 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 ' ,
],
检索到组件后,请参阅 Firebase PHP Admin SDK 的文档,了解有关如何使用它的更多信息。
您不需要也不应该使用 SDK 文档中描述的new Factory()
模式,Laravel 服务提供商已经为您完成了这一操作。使用依赖注入、Facades 或app()
帮助器代替
通过向项目数组添加另一个部分,可以在 config/firebase.php 中配置多个项目。
访问组件时,Facade 使用默认项目。您还可以显式使用项目:
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 ();
仅积极支持最新版本。
只要早期版本的最低SDK 要求收到安全修复程序,就会收到安全修复程序。您可以在 SDK 的 README 中找到当前支持的版本和支持选项。
版本 | 初始版本 | 支持的SDK版本 | 支持的 Laravel 版本 | 地位 |
---|---|---|---|---|
5.x | 2023 年 1 月 13 日 | ^7.0 | ^9.0 、 ^10.0 、 ^11.0 | 积极的 |
4.x | 2022 年 1 月 9 日 | ^6.0 | ^8.0 | 生命终结 |
3.x | 2020 年 11 月 1 日 | ^5.24 | ^6.0, ^7.0, ^8.0 | 生命终结 |
2.x | 2020 年 4 月 1 日 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | 生命终结 |
1.x | 2019 年 8 月 17 日 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | 生命终结 |
该项目已获得 MIT 许可证的许可。
您对 Firebase 的使用受 Firebase 服务的服务条款约束。