【问题标题】:how I can set rules in firebase without Auth users如何在没有身份验证用户的情况下在 firebase 中设置规则
【发布时间】:2019-10-16 10:12:58
【问题描述】:

您好,我正在使用 angular 和 firebase,在 Web 应用程序中,如果我在控制台上打开浏览器工具,我可以看到我的 firebase 的连接密钥,这非常糟糕。

firebase 中的规则是解决这个问题的方法。但我找到的所有答案都基于用户的身份验证,并且在我的网络应用程序上不是必需的身份验证。我如何设置规则,以便只有我的网络应用程序可以在没有用户身份验证的情况下读写。因为如果我创建另一个项目并且我使用相同的密钥,我可以映射数据库并且任何人都可以更新数据谢谢 p.d.我的规则实际上是 read=true 和 write=true,这允许任何人读写。

{
  "rules": {
    ".read": "true != null",
    ".write": "true != null"
  }
}

P.d.我的网络应用托管在 Firebase 托管中再次感谢

【问题讨论】:

  • s/"true != null"/true/g / 请将"true != null" 替换为true,因为这样说某事总是正确的有点习惯用语:)

标签: firebase firebase-realtime-database firebase-authentication firebase-security


【解决方案1】:

这对于安全规则是不可能的。如果您不限制使用 Firebase 身份验证,这意味着任何有互联网连接的人都可以读取和写入您的数据库。

【讨论】:

  • 感谢 Doug,但我如何在没有身份验证用户的情况下设置 firebase 身份验证,是否有另一种方法让只有我的网络应用程序可以读写?也许来自服务器端的令牌并在规则中验证它?谢谢。
  • 您可以使用不需要登录的 Firebase 身份验证匿名身份验证,也可以使用自定义令牌,但无论哪种方式,您都需要使用 Firebase Auth SDK。
  • 感谢两者,我可以看到匿名身份验证是一种简单的方法,但它可以防止任何人在不是我的项目中也这样做并且获得一个 uid 来修改数据?再次感谢
  • 对不起,我不明白你的问题。听起来您可能对 Firebase 身份验证而不是实时数据库有一个全新的问题。
猜你喜欢
  • 2021-04-08
  • 2019-06-02
  • 2021-09-25
  • 2018-03-30
  • 1970-01-01
  • 2018-03-19
  • 2019-11-14
  • 2023-02-02
  • 2019-05-10
相关资源
最近更新 更多