Пакет Laravel для Firebase PHP Admin SDK.
Пожалуйста, прочитайте о будущем Firebase Admin PHP SDK в репозитории SDK на GitHub.
composer require kreait/laravel-firebase
Чтобы получить доступ к проекту Firebase и связанным с ним сервисам с помощью серверного SDK, запросы должны быть аутентифицированы. Для связи между серверами это делается с помощью учетной записи службы.
Если вы еще не создали учетную запись службы, вы можете сделать это, следуя инструкциям на страницах официальной документации по адресу https://firebase.google.com/docs/admin/setup#initialize_the_sdk_in_non-google_environments.
После загрузки JSON-файла учетной записи службы вы можете настроить пакет, указав переменные среды, начинающиеся с FIREBASE_
в вашем файле .env
. Обычно для работы пакета требуется следующее:
# 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
Пакет использует автоматическое обнаружение для проекта по умолчанию, чтобы найти учетные данные, необходимые для аутентификации запросов к API-интерфейсам Firebase, путем проверки определенных переменных среды и изучения хорошо известных путей Google.
Если вы не хотите, чтобы учетная запись службы обнаруживалась автоматически, укажите ее, задав переменную среды 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 для получения дополнительной информации о том, как его использовать.
Вам не нужно и не следует использовать new Factory()
описанный в документации SDK, это уже сделано за вас с помощью поставщика услуг Laravel. Вместо этого используйте Dependency Injection, Facades или помощник 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 получают исправления безопасности. Вы можете найти поддерживаемые в настоящее время версии и варианты поддержки в README SDK.
Версия | Первоначальный выпуск | Поддерживаемые версии SDK | Поддерживаемые версии Laravel | Статус |
---|---|---|---|---|
5.x | 13 января 2023 г. | ^7.0 | ^9.0 , ^10.0 , ^11.0 | Активный |
4.x | 09 января 2022 г. | ^6.0 | ^8.0 | Конец жизни |
3.x | 01 ноя 2020 | ^5.24 | ^6.0, ^7.0, ^8.0 | Конец жизни |
2.x | 01 апреля 2020 г. | ^5.0 | ^5.8, ^6.0, ^7.0, ^8.0 | Конец жизни |
1.x | 17 августа 2019 г. | ^4.40.1 | ^5.8, ^6.0, ^7.0 | Конец жизни |
Этот проект лицензируется по лицензии MIT.
Использование вами Firebase регулируется Условиями использования сервисов Firebase.