firebase-admin - Firebase admin auth list users 不会返回项目中的所有用户
问题描述
userList 结果只包含一个 userRecord 而所有用户都在 8 左右
corsHandler(request, response, () => {
admin.auth().listUsers(10, 'token')
.then((UserListResult) => {
if (UserListResult.pageToken) { console.log('is found') }
response.status(200).send(UserListResult)
})
.catch(error => response.send(error))
})
解决方案
最后,我解决了这个问题。
似乎如果 pageToken 是 null 或无效字符串,它只返回一条记录(基于几个测试,最后一个用户记录)
我改变了我的代码如下,它正在工作
import * as express from 'express'
import * as admin from 'firebase-admin'
import { validate } from '../middleware/auth.middleware';
const router = express.Router()
/** List users */
router.get('/', async (req, res) => {
let { limit, page } = req.query
limit = parseInt(limit) || 25;
page = page === 'null' ? null : page;
try {
// Adding a conditional operator here, one with pageToken & other with just limit
const users: admin.auth.ListUsersResult = page ? await admin.auth().listUsers(limit, page || null) : await admin.auth().listUsers(limit);
const nextPageToken: string = users.pageToken;
res.status(200).json({ message: 'Success', users: [...users.users], nextPageToken }).end();
} catch (err) {
console.error(err);
res.status(500).json({ message: 'Internal Server Error' }).end();
}
});
export { router }
推荐阅读
- entity-framework-core - EF Core - .HasMany(r => r.SomeEntity).WithMany() // 这里没有导航属性
- angular - 如何通过离子中的组件选择器将一个模块的所有子组件用于模块的主要组件?
- react-native - React Native:使用 Facebook 登录时在 Android 上构建的独立、Expo 应用程序崩溃(适用于 iOS)
- visual-studio - 使用 Azure Connected Services 设置 MVC .NET 应用程序
- serilog - 获取当前 Serilog 配置以了解完整的写入文件路径
- c# - 通过单击菜单传递参数 - Asp.Net BoilerPlate
- javascript - getImageData 在画布右侧返回错误的不透明度
- node.js - 如何在nestjs拦截器中检测控制器?
- oracle - 如何更改 Oracle APEX 交互式网格的行为以将行添加到网格的顶部而不是底部?
- python - 无法使用 certfile (python) 与 FTP 建立 SSL 连接