![](/img/trans.png)
[英]Importing User Data from filtered Array (VUE3 + Quasar + Firebase)
[英]Importing user with PBKDF2 hash to Firebase
我正在尝试使用带有 firebase firebase-admin
SDK 的节点脚本将用户从 MongoDB 数据库导入到 Firebase Auth。在旧系统中,密码使用PBKDF2 SHA256
进行哈希处理,迭代25000
次,并作为十六进制字符串存储在数据库中,还存储了单独的盐作为十六进制字符串。
const users = [{
uid: <idFromLegacyDb>,
email: <emailFromLegacyDb>,
passwordHash: Buffer.from('passwordHashFromLegacyDb', 'hex'),
passwordSalt: Buffer.from('saltFromLegacyDb', 'hex'),
}]
const importResult = await auth.importUsers(users, {
hash: {
algorithm: 'PBKDF2_SHA256',
rounds: 25000,
}
})
console.log(importResult)
导入成功完成,但从前端登录返回密码不正确,Firebase auth 中的用户条目存在但没有任何 passwordHash 字段。
任何想法为什么登录失败? 似乎无法从 auth go 找到任何日志来接近问题。 谢谢!
好的,解决了。
像大多数其他类似问题一样,结果证明是编码问题。 也许特定于我的遗留设置,但这是正确的代码:
const users = [{
uid: <idFromLegacyDb>,
email: <emailFromLegacyDb>,
passwordHash: Buffer.from('passwordHashFromLegacyDb', 'hex'),
passwordSalt: Buffer.from('saltFromLegacyDb', 'utf8'), // salt buffer should be decoded as utf8
}]
const importResult = await auth.importUsers(users, {
hash: {
algorithm: 'PBKDF2_SHA256',
rounds: 25000,
}
})
console.log(importResult)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.