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



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

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

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

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

通常,登录 Firebase 对所有人开放或关闭。然后,您允许他们单独访问特定资源。

例如,使用 Firebase 数据库或 Cloud Firestore,您可以通过在安全规则中设置已批准用户的白名单来控制访问权限。请参阅通过电子邮件限制 Firebase 用户

或者,您可以对要授予访问权限的配置文件设置自定义版权主张,并在安全规则中检查该声明:使用列入白名单的电子邮件地址进行 Firebase 身份验证

我使用的是无密码 Firebase 身份验证,我通过使用从我的登录表单触发的可调用云函数来解决这个问题。云函数在白名单 Firebase 节点中查找提交的电子邮件地址,并返回 true 或 false。如果为 true,请登录。如果为假,我会闪烁"我们处于封闭测试阶段"消息。

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

Firebase Auth 不提供官方工具来限制特定电子邮件的电子邮件签名,或者允许登录但禁用注册。

你能做的下一件最好的事情是

  • 编写云函数监听用户创建,创建后立即删除。
  • 将自定义声明令牌
  • 分配给"已批准的"用户帐户,并且仅向这些用户提供具有自定义声明令牌的访问权限。

下面是一个示例代码,它将注册限制为特定电子邮件 https://code.luasoftware.com/tutorials/firebase/setup-firebase-authentication-with-vuejs/

最新更新