Node.js firebase integration



我希望你能帮助我我正在制作一个API,Node.js(无状态(连接到firebase。主要目标是创建用户并使用集合(添加、编辑、查阅(信息我正在使用以下firebase模块

const firebase = require('firebase');
firebase.initializeApp(firebaseConfig);

当我尝试插入数据时,由于没有用户登录,以及插入信息或删除或修改的方法,我会返回用户权限错误。

代码示例:

const db = firebase.firestore();
let botRef = db.collection('bot').doc(bot.botId);
botRef.get().then(function(doc) {
if (doc.exists) {
botRef.update({ color: bot.color, botname: bot.botname, welcomemessage: bot.welcomemessage });

我该怎么办?还是应该使用firebase的管理模块?由于在这个API中没有登录firebase(因为它是一个无状态的API(,感谢您的帮助

为此,您应该使用Firebase Admin SDK。它只是为节点封装了Google Cloud Firestore SDK,因此它具有与之相同的API。

您需要使用服务帐户初始化SDK。然后,您的代码将对数据库中的所有内容具有完全的读写访问权限,从而绕过您为实际用户设置的任何安全规则。

更换如下模块:

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

顺便说一句,在部署程序之前,不要忘记安装firebase-admin。运行以下命令进行安装:

您的终端中的$ npm install firebase-admin --save

这将授予您的云功能管理权限,这意味着读取或写入数据没有限制。

即使您有任何firebase实时数据库或云firestore规则,它也会覆盖它们。

最新更新