将上下文值从Admin SDK传递到firestore文档add/set/update



我希望使用https.onCall来接受来自用户的一些输入(例如关于另一个用户的数据(。然后,我想对这些数据进行一些高级处理,包括从我的firestore上不应该公开的其他条目中检索敏感数据。根据分析结果,我将更新数据库中的其他位置。然而,我对原始通话及其来源的安全性表示担忧。我知道我在onCall上有context参数来验证源是否已登录,但我希望基于提供给云函数的context.auth将安全规则应用于最终写入。

对于正常的数据库操作,安全规则是直接的,但如果我正在执行通过Admin SDK路由的操作(由普通用户播种(,则不是这样。

想法?

但我想根据提供给云函数的context.auth将安全规则应用于最终编写

正如您所知,您可以确定哪个用户对函数进行了调用,并且Admin SDK具有对数据库的超级访问权限,因此编写函数的一般流程应该是只编辑用户可编辑的文档。

如果您仍然想缩小访问范围,您可以在初始化管理应用程序时通过传递databaseAuthVariableOverride来为firebase数据库做到这一点。

阅读更多关于使用有限权限进行身份验证的

当您使用管理SDK或任何服务器SDK时,它总是绕过所有安全规则。规则仅适用于使用客户端SDK直接来自web和移动客户端的访问。

如果您需要对从后端写入的数据应用某种排序或限制,则需要将其编码到后端代码的逻辑中。安全规则也于事无补。

最新更新