【发布时间】:2018-01-06 09:01:05
【问题描述】:
我已经让我的用户在 CLI 中导出:
firebase auth:export my_users.json
导出文件中的密码应使用 SCRYPT 进行哈希处理,因为正如文档所述:
auth:export 命令仅导出使用 scrypt 算法散列的密码,Firebase 后端使用该算法。使用其他算法散列密码的帐户记录使用空的 passwordHash 和 salt 字段导出。从文件导入用户记录后,项目可能会使用其他算法对密码进行哈希处理,因为只有在导入的用户首次登录时,密码才会使用 scrypt 重新哈希处理
我的 hash-key 和 salt 字段在结果中不为空。 另外,我知道我的所有用户都至少登录过一次。
现在,当我尝试导入 my_users.json 时:
firebase auth:import --hash-algo=SCRYPT --rounds=1 my_users.json
我收到以下错误:
Must provide hash key(base64 encoded) for hash algorithm SCRYPT
但是我应该将 --hash-key 设置为什么,因为 auth:export 命令没有使用任何参数? ...
提前致谢
【问题讨论】:
-
目前我发现的唯一解决方法是要求用户在导入后重置密码,正如 Bryan Lewis 也提到的那样。唯一的好处是他们可以设置与以前相同的密码:|
-
我刚刚尝试做同样的事情 - 默认导出用户然后导入回同一个 firebase 项目,我发现在导入命令中不提供哈希算法导致导入正常工作,尽管该工具打印此警告消息“未指定哈希算法。无法导入密码用户。”。这仅在导入到进行导出的同一项目时才有效。
标签: firebase firebase-authentication firebase-tools