【问题标题】:Using Node.js to list all users in a Firebase iOS App使用 Node.js 列出 Firebase iOS 应用中的所有用户
【发布时间】:2019-06-05 02:11:24
【问题描述】:

我正在尝试在 node.js 中创建我的所有 firebase 用户的列表。我按照https://firebase.google.com/docs/auth/admin/manage-users上提供的描述进行操作

运行下面的代码时,我会抛出一个错误提示

TypeError: admin.auth(...).listUsers is not a function

我怀疑 firebase 文档在不同的地方以不同的方式使用“admin”,并且我在下面从初始化中使用的“admin”不是我应该用来列出用户的那个,但我不能很清楚如何纠正它。文档不是很清楚。

请注意,对于.initializeApp({...}) 代码,我添加了一些“...”,否则我有正确的文本。

var admin = require('firebase-admin');
var serviceAccount = require('../serviceAccountKey');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: 'https://...',
  databaseAuthVariableOverride: {
    uid: ' ... ',
  },
});

const db = admin.database();
const refUsersServer = db.ref('usersServer');

function listAllUsers(nextPageToken) {
  // List batch of users, 1000 at a time.
  // admin.auth().listUsers(1000, nextPageToken)

  admin.auth().listUsers(1000, nextPageToken)
    .then(function(listUsersResult) {
      listUsersResult.users.forEach(function(userRecord) {
        console.log("user", userRecord.toJSON());
      });

      // List next batch of users.
      if (listUsersResult.pageToken) {
        listAllUsers(listUsersResult.pageToken)
      }
    })
    .catch(function(error) {
      console.log("Error listing users:", error);
    });
}

// Start listing users from the beginning, 1000 at a time.
listAllUsers();

【问题讨论】:

  • firebase-admin 包的版本是多少?
  • 嗨大卫,它是 6.1.0 版

标签: ios node.js firebase firebase-authentication


【解决方案1】:

代码运行良好,但仅限于最新的 firebase-admin 版本。在早期版本中,listUsers 函数没有退出。

我的错误是我没有运行最新的 firebase-admin 版本,这要归功于我意识到的 David 'G'。谢谢。

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 2017-04-22
    • 2019-09-07
    • 2016-11-13
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多