通过firebase上的简单登录创建用户服务器端

时间:2013-08-27 09:02:43

标签: firebase firebase-security

我正在尝试使用firebase安全性和身份验证配置,并注意到了Simple Login Web教程。我可以通过javascript控制台运行auth.createUser()来创建用户,但想知道我是否可以限制用户创建在服务器端完成。

我尝试将主机添加到Authorized Request Origins并尝试删除localhost和127.0.0.1(未成功),但仍然可以从客户端创建用户。

理想情况下,我希望用户只能从客户端进行身份验证。 我错过了什么吗? (假设这可以在不退回到fb,twitter等集成的情况下完成)

由于

1 个答案:

答案 0 :(得分:3)

简单登录旨在完全不使用服务器。如果您想阻止客户创建帐户,您需要使用custom login并自行推送。

但是,在大多数情况下,您可能不需要阻止在简单登录中创建帐户。您可以通过简单地阻止用户在Firebase中创建用户记录来实现相同的结果,并将security rules建立在此基础上。

例如,在服务器上创建新用户帐户时,我可以将用户配置文件创建为:

/user/$user_id/...

我可以允许用户使用以下规则写入自己的个人资料,但不能创建个人资料:

".write": "data.exists() && auth.uid === $user_id"

然后,为了控制对服务器上任何路径的访问,我可以按如下方式编写规则:

".read": "root.child('user/'+auth.uid).exists()"

由于只有服务器可以首先创建配置文件,因此有效地阻止了用户创建帐户。