Firebase 会在注册 100 个用户后屏蔽所有请求



我需要从Web应用程序在Firebase中注册许多生成的用户。我在Firebase的API参考中找不到任何方法可以在一个请求中做到这一点,所以我为每个生成的电子邮件/密码对调用createUserWithEmailAndPassword。注册 100 个用户后,我收到身份验证/请求过多错误,并且由于 Firebase 阻止了来自设备的所有请求,因此在 30 分钟或更长时间内无法发送请求。

如何防止在Firebase控制台中阻止我的应用程序,或者为此在Web应用程序的代码中编写什么?我正在使用标准火力基地连接:

const config = {
apiKey: 'my-api-key',
authDomain: 'my-project.firebaseapp.com',
databaseURL: 'https://my-project.firebaseio.com',
storageBucket: 'my-project.appspot.com',
messagingSenderId: 'my-sender-id'};
firebase.initializeApp(config);

并使用createUserWithEmailAndPassword注册100个用户中的每一个:

firebase.auth().createUserWithEmailAndPassword(email, password)

我正在使用 Promise.all 调用所有请求

firebase.Promise.all(registerRequests)

其中注册请求是创建用户与电子邮件和密码承诺

我建议使用管理节点.js SDK。您将拥有创建任意数量的电子邮件和密码用户的特权访问权限,而不会受到限制。https://firebase.google.com/docs/auth/admin/manage-users#create_a_user

createUserWithEmailAndPassword() API 旨在供普通用户用于注册您的应用程序。因此,它具有相当低的速率限制,以防止滥用。

如果要批量创建用户,则应使用 Firebase CLI 工具中的 auth:import 命令。这是专门为此原因而设计的,没有这样的速率限制。

您的问题归结为 Firebase Spark 的限制,即只允许 100 个同时连接。当您创建新用户时,您可以设置与数据库的新连接。

Firebase 用户具有一组固定的基本属性:唯一 ID、主电子邮件地址、姓名和照片 URL - 存储在项目的用户数据库,可由用户更新(iOS、Android、web)。

来自 Firebase 项目中的用户。

解决方法是在创建 100 个用户后尝试创建新配置,如此处的 Firebase 身份验证限制中所述。

这也可能是因为每次注册用户时,它都会让他登录并保留连接一段时间。注册后肯定有一种方法可以关闭该连接。

最新更新