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

Firebase用户批量注册循环实现方案咨询

Firebase明文密码批量注册实现方案

本方案完全基于明文密码直接创建用户,无需预先处理密码哈希,不涉及auth:import工具,匹配你的需求。

前置准备

  • 运行环境:本地Node.js环境即可,无需部署到线上
  • 依赖安装:执行以下命令安装所需包
    npm install firebase-admin xlsx
    
  • 准备Firebase服务账户密钥:在Firebase控制台→项目设置→服务账户→生成新的私钥,保存到本地脚本同级目录,命名为service-account-key.json
  • 确认Excel列名:保证存储邮箱的列名为email、存储密码的列名为password,如果是其他名称对应修改代码里的字段即可

完整实现代码

const admin = require("firebase-admin");
const XLSX = require('xlsx');
const serviceAccount = require("./service-account-key.json");

// 初始化Firebase Admin
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount)
});
const auth = admin.auth();

// 读取Excel用户数据
const workbook = XLSX.readFile('./users.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const users = XLSX.utils.sheet_to_json(worksheet);
const validUsers = users.filter(u => u.email && u.password);

// 延迟控制函数,避免触发限流
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

// 批量注册主逻辑
const batchCreateUsers = async () => {
  const successList = [];
  const failList = [];

  for (let i = 0; i < validUsers.length; i++) {
    const { email, password } = validUsers[i];
    try {
      const userRecord = await auth.createUser({
        email,
        password
        // 可在此处补充displayName、phoneNumber等其他用户属性
      });
      successList.push({ email, uid: userRecord.uid });
      console.log(`进度:${i+1}/${validUsers.length} | 注册成功:${email}`);
    } catch (err) {
      failList.push({ email, error: err.message });
      console.log(`进度:${i+1}/${validUsers.length} | 注册失败:${email},错误原因:${err.message}`);
    }
    // 每次请求间隔1.5秒,若触发限流可将该值调至2000及以上
    await delay(1500);
  }

  // 执行完成输出统计结果
  console.log('\n===== 批量注册执行完成 =====');
  console.log(`成功注册:${successList.length} 个用户`);
  console.log(`注册失败:${failList.length} 个用户`);
  if (failList.length > 0) {
    console.log('失败清单:', failList);
  }
}

// 启动批量注册
batchCreateUsers();

注意事项

  • 不要移除间隔逻辑直接并发请求,Firebase Auth有接口调用频率限制,高频请求会直接被拦截,500个用户总耗时10-15分钟属于正常范围
  • 若Excel里的密码长度不足6位,会触发Firebase密码格式校验报错,建议提前检查Excel数据规范性
  • 注册失败的用户会统一输出到failList中,可针对失败原因处理后单独重新注册

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 14:24:03