Ein Laravel-Paket für das Firebase PHP Admin SDK.
Bitte lesen Sie mehr über die Zukunft des Firebase Admin PHP SDK im GitHub Repository des SDK.
composer require kreait/laravel-firebase
Um über ein Server-SDK auf ein Firebase-Projekt und die zugehörigen Dienste zugreifen zu können, müssen Anforderungen authentifiziert werden. Für die Server-zu-Server-Kommunikation erfolgt dies über ein Dienstkonto.
Wenn Sie noch kein Dienstkonto erstellt haben, können Sie dies tun, indem Sie den Anweisungen auf den offiziellen Dokumentationsseiten unter https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments folgen.
Nachdem Sie die JSON-Datei des Dienstkontos heruntergeladen haben, können Sie das Paket konfigurieren, indem Sie in Ihrer .env
Datei Umgebungsvariablen angeben, die mit FIREBASE_
beginnen. Normalerweise ist Folgendes erforderlich, damit das Paket funktioniert:
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
Weitere Konfigurationen finden Sie unter config/firebase.php. Sie können die Konfiguration ändern, indem Sie sie in Ihr lokales config
kopieren oder die in der Konfigurationsdatei verwendeten Umgebungsvariablen definieren:
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
Das Paket verwendet die automatische Erkennung für das Standardprojekt, um die für die Authentifizierung von Anfragen an die Firebase-APIs erforderlichen Anmeldeinformationen zu finden, indem es bestimmte Umgebungsvariablen überprüft und die bekannten Pfade von Google untersucht.
Wenn Sie nicht möchten, dass ein Dienstkonto automatisch erkannt wird, stellen Sie es bereit, indem Sie die Umgebungsvariablen FIREBASE_CREDENTIALS
oder GOOGLE_APPLICATION_CREDENTIALS
festlegen oder die Paketkonfiguration anpassen, beispielsweise so:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
Wenn Sie lieber mehr Kontrolle über die Konfigurationselemente haben möchten, die zum Konfigurieren der Anmeldeinformationen erforderlich sind, können Sie die JSON-Datei des Dienstkontos auch als Array in Ihre Datei config/firebase.php
transponieren.
' 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 ' ,
],
Sobald Sie eine Komponente abgerufen haben, lesen Sie bitte die Dokumentation des Firebase PHP Admin SDK für weitere Informationen zur Verwendung.
Sie benötigen und sollten das in der SDK-Dokumentation beschriebene new Factory()
Muster nicht verwenden, dies wird vom Laravel-Dienstanbieter bereits für Sie erledigt. Verwenden Sie stattdessen Dependency Injection, die Facades oder den app()
Helfer
Mehrere Projekte können in config/firebase.php konfiguriert werden, indem ein weiterer Abschnitt zum Projektarray hinzugefügt wird.
Beim Zugriff auf Komponenten verwendet die Fassade das Standardprojekt. Sie können ein Projekt auch explizit verwenden:
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 ();
Nur die neueste Version wird aktiv unterstützt.
Frühere Versionen erhalten Sicherheitsfixes, solange ihre niedrigste SDK-Anforderung Sicherheitsfixes erhält. Die aktuell unterstützten Versionen und Supportoptionen finden Sie in der README-Datei des SDK.
Version | Erstveröffentlichung | Unterstützte SDK-Versionen | Unterstützte Laravel-Versionen | Status |
---|---|---|---|---|
5.x | 13. Januar 2023 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | Aktiv |
4.x | 09. Januar 2022 | ^6.0 | ^8.0 | Ende des Lebens |
3.x | 01. November 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | Ende des Lebens |
2.x | 01. April 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | Ende des Lebens |
1.x | 17. August 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | Ende des Lebens |
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
Ihre Nutzung von Firebase unterliegt den Nutzungsbedingungen für Firebase-Dienste.