Firebase Web身份验证 - 新帐户的管理员批准

时间:2017-02-07 21:48:34

标签: firebase firebase-authentication

我已获得oAuth Firebase Web Authentication pretty much setup and working以及本地用户名/密码(电子邮件地址)。

我的问题是:有没有人知道如何在那里引入额外的步骤,以便在完全验证之前新网站必须得到网站管理员的批准?我在考虑调整/使用user.emailVerified属性,但我认为这对oAuth用户不起作用。

有一种简单的方法可以执行此操作 - 添加管理员批准步骤吗?或者,Firebase身份验证子系统中是否有可以轻松切换的属性?

enter image description here

1 个答案:

答案 0 :(得分:6)

通过Firebase身份验证创建用户只会为他们提供唯一的用户ID。这并不允许他们访问您的应用或注册"他们以任何方式。这完全是你的权限。它只不过是一张唯一凭据(例如Facebook ID或电子邮件/密码哈希值)到唯一Firebase ID的地图。

你可以注册"用户拥有您想要的任何访问权限,以及任何将用户添加到您的数据库(或任何其他适当的机制)的工作流程。

假设数据库,您可以将用户个人资料/元数据写入路径(例如/users/$uid),并根据/users/<user id>是否存在来确定安全规则。

要强制执行管理员批准,最简单的答案是维护一个单独的路径,例如/registered/<user id>/true只能由管理员访问(当然还有安全规则)。

现在您可以编写如下规则:

{
  "...some path...": {
     ".read": "root.child("registered/" + auth.uid).val() === true"
  }
}

基本上执行注册过程。