Firebase管理员身份验证列表用户不会返回项目中的所有用户



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 }

最新更新