Firebase PHP Admin SDK凭据

时间:2018-01-09 21:32:27

标签: php google-app-engine jwt service-accounts firebase-admin

我打算将PHP,GAE和Firebase数据库结合起来。

我尝试使用Firebase Admin SDK for PHP,遵循这些instructions

然后,我看到了这两个代码:

手动

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。所以,它可能有助于获得一些建议。

1 个答案:

答案 0 :(得分:0)

首先,感谢您为您的项目考虑库。自问题发布之日起,我就更新了文档,并希望它现在更清晰一些。此外,不再需要提供Web API密钥来启用用户管理,您只需使用下载的凭证文件,一切都会正常工作。

要回答您的问题:firebase_credentials.jsongoogle-service-account.json引用相同类型的凭据文件,这意味着您可以在项目设置页面的Service Accounts标签中下载该文件。

使用任何可用的管理SDK,都可以对项目进行完全管理访问,因此您应该小心处理它。

请注意,自您的问题以来,已发布新的主要版本,并且使用说明已更改(但不多)。您可以在https://firebase-php.readthedocs.io找到更新的文档。