是否可以启用Firebase电子邮件身份验证但可以禁用登录?

时间:2018-08-06 20:30:51

标签: firebase firebase-authentication

在我的应用中,我已经对Google帐户使用了Firebase身份验证,但是我还想授权一些没有Google帐户的用户。因此,我想将它们从Firebase控制台手动添加到授权服务器,并启用电子邮件身份验证。

我不希望随机用户能够使用他们的电子邮件在我的应用程序上创建一个帐户。

有可能吗?我没有找到禁用登录的参数...

3 个答案:

答案 0 :(得分:2)

我认为谁可以单独登录Firebase身份验证是不可能的。

通常每个人都可以登录或关闭Firebase。然后,您允许他们分别访问特定资源。

例如,您使用Firebase数据库或Cloud Firestore,可以通过在安全规则中包含已批准用户的白名单来控制访问。参见Restrict Firebase users by email

或者,您可以在要授予访问权限的配置文件上设置自定义声明,并在安全规则中进行检查:Firebase Authentication with whitelisted email addresses

答案 1 :(得分:0)

我正在使用无密码的Firebase身份验证,并且通过使用从我的登录表单触发的可调用云功能来解决此问题。云功能会在白名单Firebase节点中查找提交的电子邮件地址,并返回true或false。如果为true,请登录。如果为false,我会显示“我们处于封闭测试版”消息。

我手动地或通过应用程序中受保护的管理路由中的表单将电子邮件添加到白名单节点。

答案 2 :(得分:0)

Firebase Auth没有提供官方工具来将电子邮件siginup限制为特定电子邮件,或者允许登录但禁用注册。

您可以做的第二件事是

  • 写一个云函数来监听用户的创建,并在创建后立即将其删除。
  • 将自定义声明令牌分配给“批准的”用户帐户,并仅向具有自定义声明令牌的用户提供访问权限。

以下是示例代码,该代码将注册仅限于特定电子邮件 https://code.luasoftware.com/tutorials/firebase/setup-firebase-authentication-with-vuejs/

相关问题