Swift:Firebase:除了我的应用程序之外,如何确保没有人可以访问我的数据库

时间:2016-06-21 15:50:55

标签: ios swift security firebase anonymous

我的Swift iOS应用仅使用Firebase匿名登录。我担心我的Firebase数据库的安全性,因为显然任何人都可以访问或删除我的数据(通过浏览器等?)。

如何保护我的数据库,以便我的iOS应用只能访问它?

我原本希望Firebase信息中心允许生成我可以嵌入我的应用中的API密钥,但似乎并非如此。

1 个答案:

答案 0 :(得分:1)

<强> You need to write security rules.

任何人都可以看到您的网址,但安全规则是您指示可以访问 数据的方式。

这些规则就像对数据结构的注释一样,并指定必须满足哪些约束才能允许读取或写入。

假设您要保护数据库,以便只有经过身份验证的用户才能访问数据库。这些是实时数据库的默认规则。

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

auth变量是存储当前经过身份验证的用户的服务器端值。该规则检查该变量是否具有值,因此包含登录用户。

  

我原本希望Firebase仪表板允许生成   我可以嵌入我的应用程序的API密钥,但似乎不是   情况下。

Firebase控制台会为您提供密钥,无论规则如何,都可以为您提供完全访问权限。但如果你将它嵌入你的应用程序,那么它就不再安全了。这就是您使用身份验证的原因,因为这会针对特定登录用户的密钥创建令牌。