【问题标题】:Google Cloud functions HTTPS Post Call access Firebase database as non admin to apply rulesGoogle Cloud 以非管理员身份使用 HTTPS Post Call 访问 Firebase 数据库以应用规则
【发布时间】:2018-05-27 00:59:29
【问题描述】:

我的问题与here 发现的问题非常相似,但这个问题似乎从未得到完全回答。

我在写入我的 firebase 实时数据库的云函数中有一组 HTTPS Post 调用。

例如:

app.post('/api/dosomething', (req, res) => {
    //implementation...
});

问题是当我以管理员身份写入数据库时​​,因此所有安全规则都会被忽略。

import * as functions from 'firebase-functions';
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)

我厌倦了以下操作,但在我的函数日志中收到错误

const nonadmin = require('firebase')
nonadmin.initializeApp(functions.config().firebase);

我无法找到有关如何获取非管理员数据库参考的文档。我读了这篇文章here,但是它基于触发器并使用返回的事件对象。在我的云功能中,我使用的是发布请求。

【问题讨论】:

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


    【解决方案1】:

    目前无法修改 Firestore SDK 的范围以充当特定用户,以便应用安全规则。这是工程团队正在研究的问题。

    您链接到的问题很旧。从 Functions SDK 1.0 版开始,event.data.ref(用于实时数据库)不再适用于进行更改的用户。同样,该团队正在寻找替代方案。

    【讨论】:

      【解决方案2】:

      Firebase 目前没有 NodeJS 客户端库。

      如果您确实需要应用安全规则,可以使用REST API。例如,您可以使用axios 之类的 HTTP 客户端调用保存/检索数据。

      【讨论】:

      • 这不是 OP 所要求的。他们希望将 Firestore SDK 强制限定为特定用户,以便应用安全规则。
      猜你喜欢
      • 1970-01-01
      • 2013-03-24
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 2013-05-31
      相关资源
      最近更新 更多