我们有一个Google引擎,用于执行nodejs脚本,其中一个脚本连接到Firebase实时数据库。当此脚本试图连接到RTD时,它将失败,如下所示:
@ FIREBASE /database: FIREBASE警告:为名为"DEFAULT“的应用程序提供的身份验证凭据无效。这通常表示应用程序未被正确初始化。确保提供给initializeApp()的“凭证”属性被授权访问指定的"databaseURL“,并且来自正确的项目。
脚本连接到同一个项目下的实例。databaseURL
通过FIREBASE_CONFIG
环境变量分配,默认应用程序凭据用于使用各种GCP服务进行身份验证。
Notes
databaseURL
是正确的,并在没有问题执行的App实例中使用。databaseURL
作为admin.initializeApp()
配置的一部分传递,但没有成功。发布于 2021-10-25 15:49:14
在过去的几个星期里,我遇到了这个问题,并且通过添加一些作用域来修复它:
gcloud compute instances set-service-account [INSTANCE_NAME] \
--service-account "your.gserviceaccount.com" \
--scopes "https://www.googleapis.com/auth/firebase.database,https://www.googleapis.com/auth/userinfo.email"
这在设置实时数据库和身份验证的范围中有记录,尽管我也忽略了它,只有在有人向我指出时才找到它。
https://stackoverflow.com/questions/69285140
复制