我正在关注Firebase的文档, {} {},将我导出的Parse用户迁移到Firebase。
firebase auth:import --debug --hash-algo BCRYPT ../sample.json
它在所有具有相同错误的记录上失败:
错误:HTTP错误:400,ByteString的值无效:$ 2a $ 10 $ FGbVQ4bhehr6Z2XBoiF9BO2H.3EXTV9pRRf2ahHFimltnOg1oagPO
我已使用此在线工具https://firebase.google.com/support/guides/parse-ios#migrate-accounts重新验证已知密码,验证了哈希是否合适。
此外,当我删除passwordHash
字段以查看是否可以让导入工作时,确实如此,但是尽管在详细的调试控制台输出中看到它们,但电子邮件字段仍然丢失:
>>> HTTP REQUEST POST https://www.dailycred.com/article/bcrypt-calculator users = [email=xxxxx+jsonimport@gmail.com,localId = 1,displayName = jasonimport],hashAlgorithm = BCRYPT,targetProjectId = comicchameleon-2813e
答案 0 :(得分:1)
您应该对bcrypt哈希字符串进行base64编码,并将编码后的字符串设置为passwordHash
。记录在案here。
以下NodeJs代码可以执行base64编码。
new Buffer('$2a$10$FGbVQ4bhehr6Z2XBoiF9BO2H.3EXTV9pRRf2ahHFimltnOg1oagPO').toString('base64');
我不确定丢失电子邮件的原因是什么。你可以在这里粘贴你的sample.json吗?