firebase - 我可以将带有真实密码的csv导入firebase身份验证吗
问题描述
我想将多个具有预定义密码的用户添加到 Firebase 身份验证项目
我知道可以使用哈希密码来完成,但在我的情况下,我有真正的密码而不是生成的哈希密码
我可以用户firebase auth:import
使用真实密码上传还是有什么方法可以使用我的项目哈希参数将真实密码转换为哈希密码?
例如
解决方案
您可以使用 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.
});
推荐阅读
- python - PySpark Dataframe 将列提取为数组
- sql - 如何将 varchar 解析为实际时间值?
- r - 如何在 R 中将分钟级数据转换为秒级数据?
- java - 当一个键在并发哈希映射中有多个映射到它的值时,如何删除映射到一个键的值?
- python - 使用两个列表删除项目
- c# - IdentityServer4 客户端密钥最大长度默认 Client_Invalid 错误消息
- angular - Angular中的登录/注销导航
- javascript - 在 JavaScript 中的 API 错误中显示
- node.js - 在 node.js (npm) 上发现很多错误
- c# - 尝试调试我的 dotnet 5 WPF 应用程序并收到错误消息:“目标进程已退出,但未引发 CoreCLR 启动事件。”