Google Cloud将HTTPS Post Call访问Firebase数据库作为非管理员来应用规则

Google Cloud将HTTPS Post Call访问Firebase数据库作为非管理员来应用规则,firebase,firebase-realtime-database,google-cloud-functions,Firebase,Firebase Realtime Database,Google Cloud Functions,我的问题与发现的问题非常相似,但这个问题似乎从未得到完全回答 我在云函数中有一组HTTPS Post调用,用于写入我的firebase实时数据库 例如: app.post('/api/dosomething', (req, res) => { //implementation... }); 问题是,当我以管理员的身份向数据库写入数据时,所有安全规则都会被忽略 import * as functions from 'firebase-functions'; const admin

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

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

例如:

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);

我很难找到关于如何获取非管理员数据库引用的文档。然而,我读了这篇文章,它基于触发器并使用返回的事件对象。在我的云功能中,我正在使用post请求。

Firebase当前没有NodeJS客户端库


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

目前无法修改Firestore SDK的作用域,使其表现为特定用户,以便应用安全规则。这是工程团队正在调查的事情


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

这不是OP要求的。他们希望强制Firestore SDK的作用域为特定用户,以便应用安全规则。