使用电子邮件/密码登录而不启用它

时间:2017-03-14 13:37:38

标签: firebase firebase-realtime-database firebase-authentication firebase-admin

我目前的注册流程如下:

  1. 应用程序通过我的REST Api向我的后端发送注册请求,其中包含用户名,密码,电子邮件等信息。
  2. 我的后端会检查用户名是否可用。如果是,则使用admin api创建新用户。如果这也成功,则将用户名保存到实时数据库。
  3. 当我想使用signed char登录时,它说我不能,因为PasswordLogin被禁用。

    由于我不希望任何人注册loginWithEmailAndPassword,我希望将其禁用。

    我现在的问题是,如何在不启用电子邮件/密码的情况下登录用户? 或者,当我启用电子邮件/密码时,是否有可能利用系统?

    编辑:我不确定是否保证registerWithEmailAndPassword的注册来自我的应用?

1 个答案:

答案 0 :(得分:0)

firebaser here

无法将用户签到禁用的提供商。我真的很惊讶你可以注册它们。

启用提供程序后,无法阻止用户注册。

但是,只允许用户管理后端创建对某些数据的访问权限非常容易。只需让管理脚本将其创建的用户的UID写入白名单:

/whitelist
    uid1: true
    uid2: true

然后在您的安全规则中,只允许访问白名单用户:

".read": "root.child('whitelist').child(auth.uid).exists()"