gpt4 book ai didi

firebase - 如何在用户设备上运行ElasticSearch并保持ElasticSearch服务器安全?

转载 作者:行者123 更新时间:2023-12-03 01:39:44 25 4
gpt4 key购买 nike

编写一个以Firebase为后端的移动应用程序,同时也使用ES来增强搜索功能。我是ES的新手。

假设每个用户都可以发布文章,每个文章都包含一定数量的标签,这些标签表示本文的内容,类似于此处提出的问题。用户可以搜索带有标签的文章,然后将显示包含该标签的文章。我设法通过Cloud Function做到了这一点,所以Cloud Function基本上看起来像这样:

exports.articleSearch = functions.https.onRequest((req, res) => {
const { tag } = req.query;

const ElasticSearchConfig = {
uri: '..<my elastic cloud url>/articles/article/_search...',
method: 'GET',
body: ...,
json: true,
auth: {
username: '...<my elastic cloud username>...',
password: '...<my elastic cloud password>...'
}
};

// If succeeds, send results back to user, if not, send error back
request(ElasticSearchConfig).then((results) => ...)
.catch((error) => ...);
});

这行得通,但是,它有点慢,因为我没有通过云功能在用户设备上运行ElasticSearch。但是,如果确实在用户设备上运行上述代码,您会注意到 auth对象的 ElasticSearchConfig属性,我基本上是在向所有人授予访问和操作我的ES服务器的权限。如何在用户设备上运行上述代码,同时防止它们在未经适当许可的情况下读取或写入任何内容?

最佳答案

没有安全的方法来完成您的要求。即使有可能,您也不希望客户端进行这种处理,尤其是在移动设备上。您对云函数的响应缓慢可能是由于该函数进入了超时状态,这意味着它已经有一段时间没有被调用了。

关于firebase - 如何在用户设备上运行ElasticSearch并保持ElasticSearch服务器安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com