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 服務的服務條款約束。