我已获得oAuth Firebase Web Authentication pretty much setup and working以及本地用户名/密码(电子邮件地址)。
我的问题是:有没有人知道如何在那里引入额外的步骤,以便在完全验证之前新网站必须得到网站管理员的批准?我在考虑调整/使用user.emailVerified
属性,但我认为这对oAuth用户不起作用。
有一种简单的方法可以执行此操作 - 添加管理员批准步骤吗?或者,Firebase身份验证子系统中是否有可以轻松切换的属性?
答案 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"
}
}
基本上执行注册过程。