Firebase函数类型脚本带有特定uid的initializeAdmin()

时间:2018-10-24 00:10:28

标签: firebase firebase-realtime-database google-cloud-functions firebase-admin

我已经找到了使用唯一的UID初始化firebase函数的这种方法的参考,目的是通过数据库规则来限制它,但是我不断收到错误消息 Error: Can't determine Firebase Database URL

我意识到我可以从环境变量中检索DatabaseURL,但是在此之前,我想知道自己是否做错了,因为我看到的示例不必针对Firebase Functions进行操作。

import * as functions from "firebase-functions";
import * as admin from "firebase-admin";

admin.initializeApp({
  ...functions.config().firebase,
  databaseAuthVariableOverride: { uid: "functions" }
});

2 个答案:

答案 0 :(得分:1)

functions.config().firebase已过时。相反,您可以改用process.env.FIREBASE_CONFIG的内容。像这样(未经测试):

const config = JSON.parse(process.env.FIREBASE_CONFIG)
config.databaseAuthVariableOverride = { uid: "uid" }
admin.initializeApp(config)

答案 1 :(得分:0)

如果对打字稿版本感兴趣的人,则需要使用以下代码更新代码:

const config = JSON.parse(<string>process.env.FIREBASE_CONFIG))