有没有办法让每个人都可以访问 firestore 数据库,但只能通过应用程序?

2024-07-04

我正在使用 Firestore 创建 Android 应用程序。我的应用程序不需要身份验证。是否有任何安全规则允许每个人读取和写入 firestore,但只能通过我的应用程序?

我试图找到一些规则,但每个规则都基于身份验证。

感谢您的帮助!


最接近这个的方法是实施应用程序检查 https://firebase.google.com/docs/app-check and 为 Firestore 强制执行此操作 https://firebase.google.com/docs/app-check/enable-enforcement。虽然这是减少滥用的重要一步,但即使使用 App Check,也不能保证对 Cloud Firestore 数据库的所有访问都来自您自己的应用程序。

由于您的应用程序需要了解访问数据库所需的所有详细信息,因此恶意用户可以获取这些详细信息并使用自己的代码复制它们。

为了正确保护对数据库的访问,您还必须使用 Firebase 的安全规则。这些是在服务器上强制执行的,因此恶意用户无法绕过。这里的逻辑是,只要与数据库的交互遵循您设置的规则,谁编写代码并不重要。

如果您不希望用户必须输入凭据才能使用该应用程序,您可以让他们登录使用匿名身份验证 https://firebase.google.com/docs/auth/android/anonymous-auth.

另请参阅:

  • 如何仅允许对我的 NativeScript 应用程序访问 Firestore 数据? https://stackoverflow.com/questions/53895830/how-to-enable-access-of-firestore-data-to-my-nativescript-app-only
  • 为什么可以允许从客户端写入 Firebase? https://stackoverflow.com/questions/56718206/why-is-it-okay-to-allow-writes-into-firebase-from-the-client-side
  • 仅通过客户端使用 Firestore 及其功能是否安全? https://stackoverflow.com/questions/56746926/is-it-safe-to-use-firestore-and-its-features-via-client-only
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法让每个人都可以访问 firestore 数据库,但只能通过应用程序? 的相关文章

随机推荐