首页 > 解决方案 > 我可以将带有真实密码的csv导入firebase身份验证吗

问题描述

我想将多个具有预定义密码的用户添加到 Firebase 身份验证项目

我知道可以使用哈希密码来完成,但在我的情况下,我有真正的密码而不是生成的哈希密码

我可以用户firebase auth:import使用真实密码上传还是有什么方法可以使用我的项目哈希参数将真实密码转换为哈希密码?

例如

userdata.csv 样本

标签: firebasefirebase-authenticationfirebase-cli

解决方案


您可以使用 SHA256 散列并导入这些用户。下面是一个使用Admin SDK的 Node.js 示例:

import * as crypto from 'crypto';
const importOptions = {
  hash: {
    algorithm: 'SHA256',
    rounds: 1,
  },
};
// For every user, you generate the password hash and a salt.
const currentRawSalt = generateRandomSalt();
const computedPasswordHash = crypto.createHash('sha256').update(currentRawSalt + yourUserPlainPassword).digest();
importUserRecord = {
  uid: yourUserUid,
  email: youUserEmail,
  passwordSalt: Buffer.from(currentRawSalt),
  passwordHash: computedPasswordHash,
};
admin.auth().importUsers([importUserRecord], importOptions)
  .then((result) => {
    // Check result to confirm success.
  });

推荐阅读