You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未启用Firebase DB时如何获取Auth表用户用于react-admin后台?

实现方案

方案1:后端封装Admin SDK接口(推荐,可直接对接react-admin)

  • 客户端侧的Firebase Auth SDK没有批量拉取所有用户的权限,你需要在自己的后端服务中集成Firebase Admin SDK,初始化时传入Firebase项目的服务账号密钥即可获得Auth用户的管理权限
  • 核心调用方法为listUsers(),单次最多返回1000条用户数据,用户量超过1000时可通过返回的pageToken做分页拉取
  • 参考Node.js实现代码:
const admin = require('firebase-admin');
// 初始化Admin SDK
admin.initializeApp({
  credential: admin.credential.cert('你的服务账号密钥文件路径.json')
});

async function getAllAuthUsers() {
  let allUsers = [];
  let pageToken;
  do {
    const listUsersResult = await admin.auth().listUsers(1000, pageToken);
    allUsers = allUsers.concat(listUsersResult.users);
    pageToken = listUsersResult.pageToken;
  } while (pageToken);
  return allUsers;
}
  • 将上述逻辑封装成HTTP接口,返回格式适配react-admin的数据源要求后,就可以直接在后台面板对接用户列表、导出功能,返回的字段包含uid、邮箱、手机号、创建时间、最后登录时间等,和Firebase控制台Auth页展示的内容完全一致

方案2:临时导出无需对接系统

如果只是临时导出用户数据不需要集成到react-admin功能里,可以直接使用Firebase CLI完成导出:

  • 导出CSV格式:firebase auth:export users.csv --format=csv
  • 导出JSON格式:firebase auth:export users.json --format=json
    使用前需要先登录Firebase账号并切换到对应项目。

注意事项

  • 禁止在前端客户端侧直接使用Firebase Admin SDK,会泄露服务账号密钥造成严重安全风险
  • 给react-admin提供的用户拉取接口需要做好权限校验,仅允许管理员账号调用

内容的提问来源于stack exchange,提问作者MomchilovP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:15:03