Я планирую объединить PHP, GAE и базу данных Firebase.
Я попытался использовать Firebase Admin SDK для PHP, следуя этим инструкции.
Затем я увидел эти два кода:
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
$serviceAccount =
ServiceAccount::fromJsonFile(__DIR__.'/firebase_credentials.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount)
->create();
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/google-service-account.json');
$apiKey = '<Firebase Web API key>';
$firebase = (new Factory)
->withServiceAccountAndApiKey($serviceAccount, $apiKey)
->create();
Я пытался установить firebase_credentials.json
вручную, и получить отличные результаты.
Однако … я должен использовать учетные данные учетной записи службы Google, чтобы использовать управление пользователями?
Я знаю, это сказано в документации, но в чем разница между следующим?
firebase_credentials.json
google-service-account.json
Я планирую использовать Firebase JWT в будущем. Так что, возможно, это поможет получить совет.
Прежде всего, спасибо за рассмотрение библиотеки для вашего проекта. Со времени вашего вопроса я обновлял документацию и надеюсь, что теперь она немного понятнее. Кроме того, больше нет необходимости предоставлять ключ веб-API для управления пользователями, вы можете просто использовать загруженный файл учетных данных, и все будет работать нормально.
Чтобы ответить на ваш вопрос: firebase_credentials.json
а также google-service-account.json
ссылаться на тот же тип файла учетных данных, то есть тот, который вы можете загрузить в Сервисные аккаунты вкладка на странице настроек вашего проекта.
С любым из доступных SDK администратора это обеспечивает полный административный доступ к проекту, поэтому вы должны обращаться с ним осторожно.
Обратите внимание, что с момента вашего вопроса был опубликован новый основной выпуск, и инструкции по использованию изменились (но не сильно). Вы можете найти обновленную документацию на https://firebase-php.readthedocs.io .
Других решений пока нет …