Firebase规则设置

时间:2017-01-30 04:35:41

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

我决定在旧的客观C iOS应用中使用Firebase。

我按照此处给出的说明安装了我需要的东西: 登录Firebase后立即Add Firebase to your iOS app。 然后我按照这里给出的指示: https://firebase.google.com/docs/database/ 为了使用数据库。

此时它基本上可以工作,我可以写一些数据。 不过我有关于规则设置的这个问题。

我按照这里给出的信息: https://firebase.google.com/docs/database/security/quickstart

但如果我按照这样设定规则:

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

它按预期工作。另一方面,如果我这样设置它们:

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

这是默认设置,应该允许我从我的应用程序中写入数据,但它不起作用。

有什么问题?

2 个答案:

答案 0 :(得分:1)

如果您不希望用户登录,您可以自动匿名验证用户。

Authenticate with Firebase Anonymously on iOS

然后你可以使用:

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

答案 1 :(得分:0)

在回复cartant后阅读您的评论后,很明显您希望允许您的应用用户访问您的database进行阅读和写作,而无需登录。

我还想在不请求用户登录的情况下执行此操作。这可能吗?

可以允许您的用户在没有任何签名过程的情况下访问您的数据库。

实际上

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

此规则表示您在未登录的情况下向您的用户提供readwrite权限。

另一方面

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

在此规则中,您提到必须先执行身份验证("auth != null"),然后才能向您的用户授予readwrite权限。

因此,要完成目标,只需使用默认规则,即不经过身份验证的规则。