使用node.js admin sdk使用特定参数列出Firebase身份验证用户

时间:2019-04-17 08:38:19

标签: node.js firebase firebase-authentication firebase-admin

是否有一种方法可以通过使用Firebase admin sdk传递特定的参数来列出一部分用户?例如,我要列出其metadata.lastSignInTime <特定时间戳记的前100个用户。

目前,我只能在docs中找到admin.auth().listUsers(),它没有任何参数可以执行用户查询。

我们可以获取所有用户,然后在本地执行查询,但是如果我的项目包含一百万个用户,这将是一个过大的选择

2 个答案:

答案 0 :(得分:1)

Firebase Admin API for listing all users从Firebase身份验证返回有限但未过滤的用户列表。无法将其他条件传递给Admin SDK。

如果您需要用于用户列表的更高级查询功能,请考虑将其他用户配置文件存储在单独的数据库中以进行查询。例如,在Realtime Database或Cloud Firestore中具有用户列表以简化查询(并使其可从应用程序访问)是很常见的。

答案 1 :(得分:0)

我有类似的问题。 我不仅添加了用户,还将有关他的信息添加到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-datahttps://firebase.google.com/docs/firestore/query-data/query-cursors