Un paquete de Laravel para el SDK de administración de PHP de Firebase.
Lea sobre el futuro del SDK PHP de Firebase Admin en el repositorio GitHub del SDK.
composer require kreait/laravel-firebase
Para acceder a un proyecto de Firebase y sus servicios relacionados mediante un SDK de servidor, las solicitudes deben estar autenticadas. Para la comunicación de servidor a servidor, esto se realiza con una cuenta de servicio.
Si aún no ha generado una cuenta de servicio, puede hacerlo siguiendo las instrucciones de las páginas de documentación oficial en https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
Una vez que haya descargado el archivo JSON de la cuenta de servicio, puede configurar el paquete especificando variables de entorno que comiencen con FIREBASE_
en su archivo .env
. Normalmente, se requiere lo siguiente para que el paquete funcione:
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://.firebaseio.com
Para obtener más configuraciones, consulte config/firebase.php. Puede modificar la configuración copiándola en su directorio config
local o definiendo las variables de entorno utilizadas en el archivo de configuración:
# Laravel
php artisan vendor:publish --provider= " KreaitLaravelFirebaseServiceProvider " --tag=config
El paquete utiliza la detección automática para que el proyecto predeterminado encuentre las credenciales necesarias para autenticar solicitudes a las API de Firebase inspeccionando ciertas variables de entorno y buscando las rutas conocidas de Google.
Si no desea que una cuenta de servicio se descubra automáticamente, proporciónela configurando la variable de entorno FIREBASE_CREDENTIALS
o GOOGLE_APPLICATION_CREDENTIALS
o adaptando la configuración del paquete, como por ejemplo:
FIREBASE_CREDENTIALS = storage/app/firebase-auth.json
Si prefiere tener más control sobre los elementos de configuración necesarios para configurar las credenciales, también puede transponer el archivo JSON de la cuenta de servicio como una matriz dentro de su archivo 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 ' ,
],
Una vez que haya recuperado un componente, consulte la documentación del SDK de administración de PHP de Firebase para obtener más información sobre cómo usarlo.
No necesita ni debe usar el new Factory()
descrito en la documentación del SDK; esto ya lo hace el proveedor de servicios de Laravel. Utilice la inyección de dependencia, las fachadas o el asistente app()
en su lugar
Se pueden configurar varios proyectos en config/firebase.php agregando otra sección a la matriz de proyectos.
Al acceder a los componentes, la fachada utiliza el proyecto predeterminado. También puedes usar explícitamente un proyecto:
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 ();
Sólo se admite activamente la última versión.
Las versiones anteriores recibirán correcciones de seguridad siempre que su requisito de SDK más bajo reciba correcciones de seguridad. Puede encontrar las versiones admitidas actualmente y las opciones de compatibilidad en el archivo README del SDK.
Versión | Lanzamiento inicial | Versiones de SDK compatibles | Versiones compatibles de Laravel | Estado |
---|---|---|---|---|
5.x | 13 de enero de 2023 | ^7.0 | ^9.0 , ^10.0 , ^11.0 | Activo |
4.x | 09 ene 2022 | ^6.0 | ^8.0 | Fin de la vida |
3.x | 01 de noviembre de 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | Fin de la vida |
2.x | 01 abr 2020 | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | Fin de la vida |
1.x | 17 de agosto de 2019 | ^4.40.1 | ^5.8, ^6.0, ^7.0 | Fin de la vida |
Este proyecto está bajo la licencia MIT.
Su uso de Firebase se rige por los Términos de servicio de los Servicios de Firebase.