注册100个用户后,Firebase会阻止所有请求

时间:2017-01-11 05:35:11

标签: javascript firebase firebase-authentication

我需要在Web应用程序中注册Firebase中的许多生成用户。我没有在Firebase的API参考中找到任何方法来在一个请求中执行此操作,因此我为每个生成的对电子邮件/密码调用createUserWithEmailAndPassword。注册100个用户后,由于Firebase阻止了来自设备的所有请求,我收到了auth / too-many-requests错误并且无法发送请求30分钟或更长时间。

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

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)

其中注册请求是createUserWithEmailAndPassword promise

3 个答案:

答案 0 :(得分:5)

我建议使用Admin node.js SDK。您将拥有特权访问权限,可以根据需要创建任意数量的电子邮件和密码用户,而不会受到限制。 https://firebase-dot-devsite.googleplex.com/docs/auth/admin/manage-users

答案 1 :(得分:2)

普通用户可以使用createUserWithEmailAndPassword() API注册您的应用。因此,它具有相当低的速率限制,以防止滥用。

如果您想批量创建用户,则应使用auth:import command in the Firebase CLI tools。这是专门针对这个原因而制定的,没有这样的速率限制。

答案 2 :(得分:0)

您的问题归结为Firebase Spark限制,该限制声明只允许100个同时连接。当您创建新用户时,您将建立与db的新连接。

  

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

     

来自Users in Firebase project

作为一种解决方法,请按照此处Firebase Authentication Limits中的说明创建100个用户后创建新配置。

这也可能是因为每次注册用户时都会将其登录并保留连接一段时间。注册后肯定有办法关闭该连接。