Firebase PHP 管理员 SDK 凭据

Firebase PHP Admin SDK Credentials

我打算合并 PHP、GAE 和 Firebase 数据库。

我尝试将 Firebase Admin SDK 用于 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 JWT。所以,得到一些建议可能会有所帮助。

首先,感谢您考虑将库用于您的项目。自您提出问题以来,我更新了文档,希望现在更清楚一些。此外,不再需要提供网络 API 密钥来启用用户管理,您只需使用下载的凭据文件即可,一切正常。

回答您的问题:firebase_credentials.jsongoogle-service-account.json 引用同一种凭据文件,即您可以在项目设置页面的 Service Accounts 选项卡中下载的文件。

使用任何可用的 Admin SDK,这将启用对项目的完全管理访问权限,因此您应该小心处理它。

请注意,自您提出问题以来,已经发布了一个新的主要版本,并且使用说明也发生了变化(但变化不大)。您可以在 https://firebase-php.readthedocs.io 找到更新的文档。