Firestore:“超出了非常化密码的配额”?

use*_*110 2 angularfire2 google-cloud-firestore

嗨,我在我的一项 ETE 测试中遇到此错误,该测试为我的 angular 应用程序练习登录功能和启动行为。

似乎是通过使用await this.angularFireAuth.auth.signInWithEmailAndPassword(uname, pw); whereangularFireAuthAngularFireAuth来自 '@angular/fire/auth'的注入实例登录而触发 的;

我在这里检查了 Firestore 配额但找不到用于验证密码的配额的参考。有人可以指出我的配额是什么吗?

报告的控制台错误如下所示:

zone-evergreen.js:659 Unhandled Promise rejection: Exceeded quota for verifying passwords. ; Zone: ProxyZone ; Task: Promise.then ; Value: u

几分钟后问题解决,然后按预期运行测试。

小智 6

我发现您收到的消息正在此 github线程中处理。
以下是该线程中的一些重要评论:

  1. 对于您面临的错误“Exceeded quota for verifying passwords”,这通常发生在一次发送验证密码请求或密码登录请求太多次(每个 IP 地址每秒超过 20 个请求或每 10 分钟 25 个请求)帐户)。当我们在短时间内收到大量请求时,会自动应用限制以保护我们的服务器。
  2. 这是 Firebase 身份验证强制执行的内部配额(无论定价计划如何),以防止在发出身份验证请求时滥用,因此配额可能会更改,恕不另行通知。
  3. 为了避免触发此警报,您可以使用不同的 IP 地址或将每分钟的请求数减少到 10-20 之类的值,以避免触发自动滥用检测。

如果您在短时间内从同一 IP 地址发送过多请求,那么您可能会在某个时候受到限制。这可能会阻止您获得成功的集成测试,但随之而来的是安全优势。您越容易测试,就越容易针对您的项目编写恶意脚本。我们在其他 firebase auth 库(客户端和管理员)中进行了类似的集成测试,我们尝试使用限制。

如果您有增加限制的合法需求,那么您可以向支持部门提交错误并为此提出理由。您甚至可以申请将来自某些 IP 地址的呼叫列入白名单的功能请求。