在我的firebase云功能中,我经常从firebase数据库读取写入数据。考虑到根据documentation,函数以管理员权限运行。因此,数据库中的所有安全规则都是bypassed。考虑到我的一些函数本质上是API调用(HTTP触发器等),我想强制执行数据库规则。
有没有办法在firebase云功能中使用非管理帐户?
当前代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const ref = admin.database().ref();
我已尝试使用'标准' firebase NPM模块,但是没有工作,部署失败并出现一些内部错误 - 我想它不是为这种用途而设计的(documentation似乎证实了这一点。)
答案 0 :(得分:0)
如果您的客户端应用程序不需要允许客户端直接编写数据库,我建议您将所有授权用户的数据库安全规则设置为只读,然后验证通过HTTPS函数写入的所有数据。功能本身。您可以更灵活地表达有效内容,如果客户端发送无效数据,您将能够生成更多有用的错误消息。 (安全规则并没有强烈表明写入究竟出了什么问题,只是失败了。)