0

我目前的注册流程如下:

  1. 应用程序通过我的 REST Api 向我的后端发送一个注册请求,其中包含用户名、密码、电子邮件等信息。
  2. 我的后端检查用户名是否可用。如果是,它会使用 admin api 创建一个新用户。如果这也成功,它将用户名保存到实时数据库。

当我想用loginWithEmailAndPassword它登录时说我不能,因为 PasswordLogin 被禁用。

因为我不希望任何人只注册registerWithEmailAndPassword我想保持禁用它。

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

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

4

1 回答 1

0

火力基地在这里

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

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

但是很容易只允许您的管理后端创建的用户访问某些数据。只需让管理脚本将它创建的用户的 UID 写入白名单:

/whitelist
    uid1: true
    uid2: true

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

".read": "root.child('whitelist').child(auth.uid).exists()"
于 2017-03-14T14:30:07.920 回答