如何只允许我的应用程序在没有登录的情况下访问firebase?

hgqdbh6s  于 2022-12-14  发布在  其他
关注(0)|答案(5)|浏览(112)

我正在Firebase上存储我的应用程序的数据,这是我在Firebase上的第一个项目,事实证明这比我想象的要困难得多。我已经完成了official documentation,它说我们可以用用户的电子邮件和密码登录用户,或者使用其他登录选项,如谷歌或Facebook等。但是,我不希望用户登录我的应用程序,而只是读取和写入数据到Firebase如果他们正在使用我的应用程序。现在我对我的firebase使用公共规则,但任何引用我的firebase URL的人都可以读写数据库。我如何克服这个问题?
先谢谢你。

p8ekf7hl

p8ekf7hl1#

在Firebase控制台的“身份验证”选项卡下的“登录方法”下启用匿名登录提供程序,并使用firebase anonymous authentication

pkwftd7m

pkwftd7m2#

Firebase实时数据库不允许未经授权的用户访问
让Firebase数据库规则对读写来说是真实的并不是(Chintan Soni)所说的那样。
所以身份验证机制是最好的方法!

vltsax25

vltsax253#

现在,您可以通过启用Firebase App Check来实现这一点,Firebase App Check只允许来自真正设备上的真实的应用的请求在Firebase项目上请求这些受保护的服务:

  • 实时数据库
  • 云火
  • 云端储存
  • 云函数(可调用函数)

您还可以在自己的后端代码中实现App Check,以提供相同的保护。
如文档所述:
使用App Check并不能保证消除所有滥用行为,但通过与App Check集成,您将向后端资源的滥用保护迈出重要一步。
对于上述服务,这通常意味着您还希望实现Firebase Authentication,然后在服务器端security rules中实现细粒度访问控制。

3gtaxfhh

3gtaxfhh4#

如果您只想使用firebase数据库,您应该:
1.从gradle https://firebase.google.com/docs/android/setup下载SDK
1.在firebase控制台创建项目并添加您的应用程序,下载json我把它放在您的Android Studio项目
1.添加数据库依赖关系'com.google.firebase:firebase-数据库:9.2.1'
1.在控制台中配置规则。您还可以禁用规则(建议仅用于第一次测试:“规则”:{“.读取”:true,“.write”:真}
我还建议将Android Studio更新到2.1或2.2版本,其中包括Firebase集成。

lvjbypge

lvjbypge5#

按如下方式设置数据库规则:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

相关问题