如何解决如何使我的 Firestore 侦听器安全/安全?
您好,我有一个带有 firebase 的侦听器,因此无论何时发生更改,它都会执行一个功能。我需要把这个监听器放在一个软件中,这样当它检测到一个变化时,它就会执行一个功能。我怎样才能把这个监听器放在我的其他代码中,并确保我的数据库保持安全并且没有人能够弄乱它?
const functions = require("firebase-functions");
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
const express = require('express');
const cors = require('cors');
const admin = require('firebase-admin');
admin.initializeApp();
const app = express();
const db = admin.firestore()
exports.onCreate = functions.firestore.document('users/{userId}').onCreate(async (snap,context) => {
const values = snap.data();
await db.collection('logging').add({description : `SKU was sent to discord with ${values.username}`})
})
解决方法
使用 Firebase 函数和 Firestore,您可以执行以下操作:
将您的所有 Firebase 功能保留在服务器端,而不要在客户端进行任何操作。服务器端功能具有管理员访问权限,但除 Firebase 帐户所有者/管理员外,任何人都无法访问它们。
然后您使用“onUpdate”firebase 函数:每次您的文档(数据)更改时,您的 Firebase 函数都会运行。
那它应该怎么做?
简单地让它通过 HTTP GET 或 POST 调用调用您的外部(不可信)软件。您可以使用 Axios 做到这一点,甚至可以将 JSON 或查询参数传递给该外部软件。您可以让外部代码执行它应该执行的操作,而无需直接与您的数据库交互。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。