如何仅启用对我的 nativescript 应用程序的 firestore 数据访问?

How to enable access of firestore data to my nativescript app only?

我正在使用 Nativesript + angular 开发 android/ios 应用程序。我想在我的应用程序中显示 ListView。对于 ListView,我想使用 Firebase 的 firestore 数据库产品作为后端数据提供程序。 我想要的是: 1. 我不希望用户登录或经过身份验证才能使用该应用程序。 2. 我希望来自 firebase 数据库的数据只能由我的应用程序使用。如果其他一些应用程序或匿名使用这些数据,我有什么办法可以阻止它们吗?

我试过设置

这样的规则
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
    }
  }
}

但它允许每个人访问数据。

是否有任何其他数据提供程序提供相同的功能?

更新(2021 年 5 月):

感谢名为 Firebase App Check 的新功能,现在实际上可以将对 Callable Cloud Functions 的调用限制为仅来自 iOS、Android 和 Web 应用程序的调用在您的 Firebase 项目中注册。

您通常希望将此与我描述的基于用户身份验证的安全性结合起来 earlier/below,这样您就有了另一个屏障来防止 使用的滥用用户你的应用程序。

通常仍然建议基于对用户进行身份验证(允许您识别每个用户)来控制访问,然后确保他们只能访问他们获得授权的数据(在安全规则中)。

如果您不希望用户必须登录,可以使用 anonymous authentication。虽然这不会为您提供有关用户的任何信息,但您仍然可以在安全规则中识别他们,从而根据他们所做的事情限制他们的访问。

通过将 App Check 与安全规则相结合,您可以对每个人都可以访问的数据进行广泛的保护和细粒度的控制。