iOS Firebase数据库安全性。创建新的应用程序用户:检查用户名的存在

时间:2018-03-01 20:11:19

标签: ios swift firebase heroku firebase-realtime-database

我有一个iOS应用程序,其中所有用户和数据功能都通过firebase处理。对于所有必需的firebase函数,我们设置了firebase集的权限,使它们是安全的(即,每个人只能读/写与它们相关的数据库部分)。

现在,在我的应用的“创建新用户”屏幕中,显然还没有用户登录,但我想检查所需电子邮件地址和用户名的可用性。

如何在不制作数据库中公开可访问的所有电子邮件地址和用户名列表的情况下进行检查(即设置权限以便每个人都可以阅读它们)。

在我的视图中保留数据库中可公开访问的用户名列表存在安全风险。另一方面,当然没有用户在“创建用户”屏幕上登录,所以我不知道如何限制访问。

感谢。

1 个答案:

答案 0 :(得分:4)

有很多方法可以解决这个问题。以下是一些建议:

在选择用户名之前匿名注册用户。然后,这将为他们提供您正在寻找的访问权限,而无需公开数据。然后,当用户创建帐户时,可以转换匿名帐户,如the documentation所示。

使用HTTP-triggered Cloud Function,将用户想要尝试的用户名作为查询传递。在函数内部,检查数据库是否存在用户名,然后相应地响应HTTP调用。

我可能会做前者,因为它会更快地回复。如果云功能暂时运行,它们可能需要一段时间才能启动。