【发布时间】:2018-05-25 02:42:27
【问题描述】:
我正在尝试使用 cli 命令 auth:import 将用户迁移到 firebase。
我的 passwordHash 是 PHP 哈希函数 hash('sha256', $password); 中没有加盐的 SHA256;
当我使用 auth:import 时,我的用户被添加到我的 firebase 用户中,但没有密码。
firebase auth:import user.json --hash-algo=SHA256 --rounds=64
对于密码哈希字符串,我尝试过使用/不使用 base64 和不同的 --rounds (0/1/64/80 ...)
这是我的 user.json
passwordHash 是 mypass
SHA256 ea71c25a7a602246b4c39824b855678894a96f43bb9b71319c39700a1e045222
Base64 ZWE3MWMyNWE3YTYwMjI0NmI0YzM5ODI0Yjg1NTY3ODg5NGE5NmY0M2JiOWI3MTMxOWMzOTcwMGExZTA0NTIyMg==
{
"users": [
{
"localId": 1,
"email" : "test@demo.com",
"emailVerified": true,
"passwordHash" : "ZWE3MWMyNWE3YTYwMjI0NmI0YzM5ODI0Yjg1NTY3ODg5NGE5NmY0M2JiOWI3MTMxOWMzOTcwMGExZTA0NTIyMg==",
"displayName" : "test",
"createdAt" : 1501452000000,
}
]
}
我尝试使用 MD5 并且它正在工作,所以我想知道我在这里缺少什么。
谢谢,朱利安。
【问题讨论】:
-
@DoesData 感谢您的评论。我已经读过这篇文章,我没有收到相同的错误消息,但由于这个线程,我尝试了不同的轮次和 base64 字符串。
-
@Julien,我认为github.com/firebase/firebase-tools/issues/337 可以提供帮助。
ea71c25a7a602246b4c39824b855678894a96f43bb9b71319c39700a1e045222实际上是 base16 编码的。 base64 字符串应该是6nHCWnpgIka0w5gkuFVniJSpb0O7m3ExnDlwCh4EUiI=。我验证它有效。 -
@wyhao31 谢谢,问题是我的 sha256 是 base16 编码的。有办法知道吗?无论如何,谢谢,如果您将评论作为答案发表,我会将其标记为答案。
标签: firebase firebase-authentication firebase-tools