Firebase - 仅允许使用密码&登录来自应用电子邮件

时间:2015-12-15 13:04:04

标签: ios firebase

我正在使用Firebase为所有数据存储构建iOS应用。用户创建一个帐户并使用密码和电子邮件登录。出于安全原因,我想将登录限制,或者至少是读取和写入访问权限仅限于应用程序。我不希望“任何人”创建帐户和访问数据,除非他们使用该应用程序。

据我了解,如果他们找到我的Firebase数据库的网址,则只要他们已登录,任何人都可以访问这些数据。这对我来说似乎是一个很大的安全隐患。

我当然实现了安全规则,但登录的用户仍然可以在不同的位置读取和写入数据库,所以基本上他们可以使用Javascript API连接我的Firebase数据库然后读写?任何人都可以创建用户,只要他们知道我的数据库的URL?

是否有某种方法可以阻止这种情况,例如在使用电子邮件和密码登录时使用自定义令牌?

1 个答案:

答案 0 :(得分:0)

回答你的一些问题:

  

...但是登录的用户仍然可以读取和写入数据到数据库   在不同的位置,所以基本上他们可以连接我的Firebase   数据库使用Javascript API然后读写?

您可以使用the $other rule确保没有额外的密钥写入您的Firebase数据库:

{
  "rules": {
    ".read": "auth != null", // only authed users can read/write
    ".write": "auth != null",
    "users": {
      "$uid": {
        ".read": "auth.uid == $uid", // users can read/write their own data
        ".write": "auth.uid == $uid"
      }
    }
  }
}

但您也可以使用更精细的规则来确保用户只能访问所需的数据。

{{1}}
  

任何人都可以创建用户,只要他们知道我的数据库的URL?

要创建用户,您还需要使用您在App Dashboard中指定的有效来源。这意味着,不只是拥有您网址的任何人都可以开始创建用户。

enter image description here

相关问题