Список пользователей Firebase Auth, используя определенные параметры, используя node.js admin sdk - PullRequest
0 голосов
/ 17 апреля 2019

Есть ли способ перечислить подмножество пользователей, передавая определенные параметры с помощью Firebase Admin SDK? Например, я хочу перечислить первых 100 пользователей, у которых metadata.lastSignInTime <отметка определенного времени </strong>.

В настоящее время я могу найти только admin.auth().listUsers() в документах , у которых нет параметров для выполнения пользовательских запросов.

Мы можем выбрать всех пользователей и затем выполнить запрос локально, но это будет излишним, если в моем проекте будет миллион пользователей

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

API администрирования Firebase * 1001 для перечисления всех пользователей возвращает ограниченный, но не отфильтрованный список пользователей из Firebase Authentication. Невозможно передать дополнительные условия в Admin SDK.

Если вам нужны более продвинутые возможности запросов для списков пользователей, рассмотрите возможность хранения дополнительных профилей пользователей в отдельной базе данных для запросов. Например, достаточно часто иметь список пользователей в базе данных в реальном времени или в облачном хранилище, чтобы упростить их запрос (а также сделать их доступными из приложения).

0 голосов
/ 17 апреля 2019

У меня была похожая проблема.Я не только добавляю пользователя, но и добавляю информацию о нем в отдельную коллекцию в базе данных Realtime.

    return new Promise((resolve, reject) => {

            if (docRef === undefined) {

                auth.createUserWithEmailAndPassword(item.login, item.pass)
                    .then((res) => {

                        delete item.pass;
                        docRef = colRef.doc(res.user.uid);

                        docRef.set({
                            name:item.name,
                            login:item.login,
                            info:item.info
                        });

                        return resolve();

                    })
                    .catch(error => {
                        return reject(error);
                    });

            } else {

                return resolve();
            }

И ими вы ограничиваете данные, используя.https://firebase.google.com/docs/firestore/query-data/order-limit-data и https://firebase.google.com/docs/firestore/query-data/query-cursors

...