Firestore: «Превышена квота для проверки паролей»? - PullRequest
0 голосов
/ 17 июня 2020

Привет, я получил эту ошибку в одном из моих тестов ETE, который проверяет функциональность входа в систему и поведение при запуске для моего приложения angular.

Кажется, это срабатывает при входе в систему с использованием await this.angularFireAuth.auth.signInWithEmailAndPassword(uname, pw);, где angularFireAuth - внедренный экземпляр AngularFireAuth из '@ angular / fire / auth';

Я проверил квоты Firestore здесь , но я не могу найти ссылку на квоту для проверки пароли. Может ли кто-нибудь указать мне, какова квота?

Сообщение об ошибке консоли выглядит так:

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

Проблема решается через несколько минут, а затем запускается тест. как и ожидалось.

1 Ответ

1 голос
/ 18 июня 2020

Я обнаружил, что полученное вами сообщение обрабатывается в этом github ветка .
Вот некоторые важные комментарии из ветки:

  1. Об ошибке вы сталкиваетесь с проблемой «Превышена квота для проверки паролей», обычно это происходит, когда кто-то отправляет запросы на проверку паролей или запросы входа в систему слишком много раз за один раз (более 20 запросов в секунду на IP-адрес или 25 запросов в 10 минут на учетную запись). Когда мы получаем огромное количество запросов за короткий период времени, ограничение применяется автоматически для защиты наших серверов.
  2. Это внутренняя квота (независимо от тарифных планов), применяемая Firebase Authentication для предотвращения злоупотреблений, когда выполняя запросы на аутентификацию, по этой причине квота может измениться без предварительного уведомления.
  3. Чтобы избежать срабатывания этого предупреждения, вы можете использовать другой IP-адрес или уменьшить количество запросов в минуту до примерно 10-20 , чтобы не запускать автоматическое обнаружение злоупотреблений.

Если вы отправляете слишком много запросов за короткий период времени с одного и того же IP-адреса, то ожидается, что в какой-то момент вы будете задушены . Это может помешать вам пройти успешные интеграционные тесты, но это дает преимущество безопасности. Чем проще вам тестировать, тем легче написать вредоносные сценарии против вашего проекта. У нас есть аналогичные интеграционные тесты в других библиотеках аутентификации firebase (клиентской и админской), и мы стараемся работать с лимитом.

Если у вас есть законная необходимость увеличить лимит, вы можете сообщить об ошибке с помощью support и обосновать это. Вы даже можете подать заявку на добавление функции в белый список вызовов с определенных IP-адресов.

...