Отключить сразу несколько пользователей

Мы используем Проверка подлинности Firebase в многопользовательской настройке. При определенных обстоятельствах мы хотим отключить всех пользователей для одного клиента (пробная версия закончилась, подписка не продлена ...) или включить всех ранее отключенных пользователей. Мы отправляем UpdateRequest для каждого пользователя, которого нужно включить / отключить.

Несмотря на то, что мы отправляем запросы последовательно (только по одному для каждого клиента, и не многие клиенты одновременно отключаются), мы несколько раз сталкивались с ошибкой превышения квоты:

{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "invalid",
                "message": "QUOTA_EXCEEDED : Exceeded quota for updating account information."
            }
        ],
        "code": 400,
        "message": "QUOTA_EXCEEDED : Exceeded quota for updating account information."
    }
}

Есть ли способ выполнить пакетное обновление для нескольких пользователей с помощью Admin SDK? В настоящее время мы используем его из Java, но NodeJS также подойдет нам. В качестве альтернативы было бы интересно узнать, есть ли другой способ отключить несколько пользователей, например с фильтром выражений по свойствам пользователя.

Для чего именно вы используете аутентификацию firebase?

André Kool 08.06.2018 17:08

@ AndréKool для аутентификации наших пользователей. В настоящее время мы используем пользовательские токены и JWT с нашей внутренней базой данных пользователей и планируем перевести все платформы на прямое использование Firebase Auth.

Kariem 08.06.2018 17:34

Похоже, что эта страница в документации перечисляет все квоты Firebase для облачных функций. Я предполагаю, что это применимо даже к запросам на запись / обновление в раздел аутентификации Firebase. Есть два ограничения, которые, как я вижу, вы запускаете ... либо строка: API calls (INVOKE) Calls to the "call" API 16 per 100 seconds, либо, может быть, даже: API calls (WRITE) Calls to deploy or delete functions via the Cloud Functions API 80 per 100 seconds ... и в конце этой страницы описывается, как редактировать эти квоты. Вы уже пробовали что-нибудь из этого?

JeremyW 08.06.2018 18:19

В зависимости от того, для чего вы его используете, может быть возможность использовать правила безопасности firebase для включения / отключения доступа к вашим данным.

André Kool 11.06.2018 10:03

@JeremyW Спасибо за предложения. Мы не используем облачные функции. Административный SDK запускается из среды, запущенной на вычислительном экземпляре. Эти ограничения авторизации (firebase.google.com/docs/auth/limits) ничего не показывают.

Kariem 11.06.2018 15:38

@ AndréKool Спасибо за предложение. Однако в настоящий момент мы не используем ни Firebase Realtime Database, ни Cloud Firestore для этого проекта.

Kariem 11.06.2018 15:40
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
4
6
444
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нет никаких массовых операций для обновления пользователей с помощью Firebase Admin SDK. Пожалуйста, не стесняйтесь подать запрос функции описать ваш вариант использования для этого.

Последующий вопрос: в firebase.google.com/docs/auth/limits нет пользователя включения / отключения, сообщение об ошибке на самом деле не указывает, какой API здесь используется («Обновление информации об учетной записи»), и я не вижу каких-либо ограничений на странице квот для проекта ( console.cloud.google.com/iam-admin/quotas). Могу ли я где-нибудь запросить повышение квоты? А какую квоту нужно поднять?

Kariem 19.10.2018 10:38

Извините, я не понимаю, с какой проблемой вы столкнулись. Пожалуйста, задайте здесь новый вопрос о SO с подробностями, которые помогут разобраться в проблеме.

Doug Stevenson 19.10.2018 18:04

Другие вопросы по теме