如何使用 Firestore 安全规则允许库访问
How to allow libraries access with firestore security's rules
因此,当我开始使用 Geofirex 时,我使用了 Firestore 的基本 'if authenticated user' 占位符规则。但是,当我尝试使用 geofirex query/use 数据库时,我的安全阻止了它。我目前 运行 没有任何开发规则,所以我知道一切正常,但我不知道如何添加规则以允许该库或让用户识别该库。甚至有办法做到这一点吗?
如果库与应用程序代码的其余部分在同一进程中运行,则无法为该库设置单独的安全性。来自应用程序的所有请求都(并且应该)被平等对待,因为没有什么比您自己的应用程序代码或恶意用户可能编写的代码更能使库代码更受信任。
您可以做的是创建一个仅包含每个对象的位置及其键的附加集合。然后,您可以将 Geofirex 指向 that 集合,并允许所有用户读取此数据,同时保护对每个对象的其他更敏感数据的访问。这就是 Firebase 的原始 GeoFire 库所做的,虽然它会产生更多代码(以读取额外的数据对象),但它使保护数据访问变得更加简单。
因此,当我开始使用 Geofirex 时,我使用了 Firestore 的基本 'if authenticated user' 占位符规则。但是,当我尝试使用 geofirex query/use 数据库时,我的安全阻止了它。我目前 运行 没有任何开发规则,所以我知道一切正常,但我不知道如何添加规则以允许该库或让用户识别该库。甚至有办法做到这一点吗?
如果库与应用程序代码的其余部分在同一进程中运行,则无法为该库设置单独的安全性。来自应用程序的所有请求都(并且应该)被平等对待,因为没有什么比您自己的应用程序代码或恶意用户可能编写的代码更能使库代码更受信任。
您可以做的是创建一个仅包含每个对象的位置及其键的附加集合。然后,您可以将 Geofirex 指向 that 集合,并允许所有用户读取此数据,同时保护对每个对象的其他更敏感数据的访问。这就是 Firebase 的原始 GeoFire 库所做的,虽然它会产生更多代码(以读取额外的数据对象),但它使保护数据访问变得更加简单。