Firebase PHP Admin SDK の Laravel パッケージ。
Firebase Admin PHP SDK の将来については、SDK の GitHub リポジトリをご覧ください。
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 サービス プロバイダーを使用してすでに行われています。代わりに、依存関係の注入、ファサード、または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 ();
最新バージョンのみがアクティブにサポートされます。
以前のバージョンでは、最低の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 サービスの利用規約が適用されます。