Un package Laravel pour le SDK d'administration PHP Firebase.
Veuillez en savoir plus sur l'avenir du SDK PHP Firebase Admin sur le référentiel GitHub du SDK.
composer require kreait/laravel-firebase
Afin d'accéder à un projet Firebase et à ses services associés à l'aide d'un SDK de serveur, les requêtes doivent être authentifiées. Pour la communication de serveur à serveur, cela se fait avec un compte de service.
Si vous n'avez pas encore généré de compte de service, vous pouvez le faire en suivant les instructions des pages de documentation officielle à l'adresse https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
Une fois que vous avez téléchargé le fichier JSON du compte de service, vous pouvez configurer le package en spécifiant les variables d'environnement commençant par FIREBASE_
dans votre fichier .env
. Habituellement, les éléments suivants sont requis pour que le package fonctionne :
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
Pour une configuration plus approfondie, veuillez consulter config/firebase.php. Vous pouvez modifier la configuration en la copiant dans votre répertoire config
local ou en définissant les variables d'environnement utilisées dans le fichier de configuration :
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
Le package utilise la découverte automatique pour le projet par défaut afin de trouver les informations d'identification nécessaires à l'authentification des requêtes auprès des API Firebase en inspectant certaines variables d'environnement et en examinant le(s) chemin(s) bien connu(s) de Google.
Si vous ne souhaitez pas qu'un compte de service soit découvert automatiquement, fournissez-le en définissant la variable d'environnement FIREBASE_CREDENTIALS
ou GOOGLE_APPLICATION_CREDENTIALS
ou en adaptant la configuration du package, comme par exemple :
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
Si vous préférez avoir plus de contrôle sur les éléments de configuration requis pour configurer les informations d'identification, vous pouvez également transposer le fichier JSON du compte de service sous forme de tableau dans votre fichier 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 ' ,
],
Une fois que vous avez récupéré un composant, veuillez vous référer à la documentation du SDK d'administration PHP Firebase pour plus d'informations sur la façon de l'utiliser.
Vous n'avez pas besoin et ne devez pas utiliser le new Factory()
décrit dans la documentation du SDK, cela est déjà fait pour vous avec le fournisseur de services Laravel. Utilisez plutôt l'injection de dépendances, les façades ou l'assistant app()
Plusieurs projets peuvent être configurés dans config/firebase.php en ajoutant une autre section au tableau des projets.
Lors de l'accès aux composants, la façade utilise le projet par défaut. Vous pouvez également utiliser explicitement un projet :
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 ();
Seule la dernière version est activement prise en charge.
Les versions antérieures recevront des correctifs de sécurité tant que leur exigence SDK la plus basse recevra des correctifs de sécurité. Vous pouvez trouver les versions actuellement prises en charge et les options de support dans le fichier README du SDK.
Version | Version initiale | Versions du SDK prises en charge | Versions Laravel prises en charge | Statut |
---|---|---|---|---|
5.x | 13 janvier 2023 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | Actif |
4.x | 09 janvier 2022 | ^6.0 | ^8.0 | Fin de vie |
3.x | 01 novembre 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | Fin de vie |
2.x | 01 avril 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | Fin de vie |
1.x | 17 août 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | Fin de vie |
Ce projet est sous licence MIT.
Votre utilisation de Firebase est régie par les conditions d'utilisation des services Firebase.