将注册用户从一个firebase应用程序转移到另一个

Dan*_*Dan 10 firebase

我的firebase应用程序有一个注册用户列表.这些是使用电子邮件和密码验证创建的.

我想将firebase数据和用户列表转移到另一个firebase应用程序.

传输firebase数据很简单,但我如何转移注册用户并保留他们的uid?

这是可能的,如果是这样,最好的方法是什么?

小智 19

您应该使用Firebase管理工具.

您可以使用以下命令安装管理工具:

npm install -g firebase-tools
Run Code Online (Sandbox Code Playgroud)

导出命令,生成 AllUsers.json文件:

firebase auth:export AllUsers.json --project projectId
Run Code Online (Sandbox Code Playgroud)

在另一个帐户上,使用以下命令导入生成的文件.

firebase auth:import AllUsers.json --project projectId
Run Code Online (Sandbox Code Playgroud)

  • 在导出/导入之前,您必须使用“firebase login”来验证每个帐户。您还必须为每个命令指定“--project projectId”。除此之外,这个答案拯救了我。谢谢你。 (2认同)

Ben*_*ing 17

上面的答案本身不起作用,因为上一个项目中的所有密码都将具有不同的密码哈希值。导入新用户时需要指定旧哈希(导出项目)。

在此处输入图片说明

单击此菜单项,将显示执行 firebase auth:import 命令所需的所有设置。这是我所看到的:

hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <long string of random characters>,
  base64_salt_separator: <short string of random characters>,
  rounds: 8,
  mem_cost: 14,
}
Run Code Online (Sandbox Code Playgroud)

然后我可以成功执行命令

firebase auth:import ./users.json --hash-algo=scrypt --rounds=8 --mem-cost=14 --hash-key=<long string of random characters> --salt-separator=<short string of random characters>
Run Code Online (Sandbox Code Playgroud)

如何在 firebase 中的默认 auth:export 之后为 auth:import 设置哈希键选项?

  • 如果有人觉得这有用,您应该使用源应用程序(从中导出用户的位置)的 hash_config,而不是目标项目的 hash_config (6认同)

Ale*_*bio 10

我只是提供两个评价最高的答案的摘要(感谢 Genaro Costa 和 Ben Winding)以及可以在评论中找到的一些说明(感谢 Gary Kipnis)。要在 Firebase 项目之间迁移密码,必须:

  1. 使用以下命令安装 Firebase 管理工具:

npm install -g firebase-tools

  1. 使用以下命令登录源项目:

firebase login

  1. 使用以下命令将哈希密码导出到AllUsers.json文件:

firebase auth:export AllUsers.json --project <projectId>

这里你必须替换成你的项目ID。

  1. 登录目标项目(与步骤 2 中的 CL 相同)

  2. 使用源应用程序的哈希密码配置导入密码:

firebase auth:import ./AllUsers.json --hash-algo=SCRYPT --rounds=8 --mem-cost=14 --hash-key=<long string of random characters> --salt-separator=<short string of random characters> --project <projectId>

其中参数可以在 Firebase 身份验证控制台中找到(请参见此图片或 Ben Winding 的图片),其结构如下:

hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <long string of random characters>,
  base64_salt_separator: <short string of random characters>,
  rounds: 8,
  mem_cost: 14,
}
Run Code Online (Sandbox Code Playgroud)


小智 5

刚从 Firebase 支持那里得到这个:

就在最近,Firebase 推出了用于下载 Firebase Auth 用户的新 API。要将您的用户迁移到/从其他 Firebase 项目,您可以使用这个新的 CLI auth:export 工具,该工具可在Github 上获得。有关更多信息,您可以查看我们的 Firebase 文档。此外,我们还为您的项目导入/导出用户制作了指南