如何仅启用对我的 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 与安全规则相结合,您可以对每个人都可以访问的数据进行广泛的保护和细粒度的控制。
我正在使用 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 与安全规则相结合,您可以对每个人都可以访问的数据进行广泛的保护和细粒度的控制。