Firebase从现有应用导入用户

时间:2013-04-17 06:42:43

标签: firebase

如何使用电子邮件/密码将现有应用的用户导入firebase的简单登录。

我有密钥和哈希以及包含用户数据的用户集合。可以只导入它,还是必须使用firebase的用户API。

3 个答案:

答案 0 :(得分:3)

将现有用户帐户从其他服务导入Firebase以便在Firebase简单登录中使用的当前最佳方法是为每个电子邮件地址/密码组合调用createUser(email, password, callback),前提是您拥有它们。目前没有现成的方法可以将用户电子邮件地址和密码哈希导入到Firebase简单登录中,但ping support@firebase.com可能有办法实现此目的。< / p>

如果您已经拥有要继续使用的现有身份验证机制,而不是使用Firebase简单登录,请查看custom token generation,这样您就可以继续使用现有身份验证。这将要求您在每个用户进行身份验证时生成JSON Web令牌(JWT),然后可以在您的安全规则中使用此令牌的有效负载,如下所述:https://www.firebase.com/docs/security/security-rules.html

答案 1 :(得分:1)

现在可以在Firebase v3.x中导出/导入用户。您所要做的就是安装Firebase CLI(Firebase工具),在您的计算机上设置一个文件夹,代表Firebase项目的工具镜像。 (在适当的文件夹中就像firebase init一样简单)

导出:auth:export

要导入:auth:import

更新:在我撰写此答案的时候,上面的auth:import链接中的示例有2个缺失:hash keysalt separator,你可以从客户支持部门询问。也许他们将来会用工具或控制台分享它。

答案 2 :(得分:0)

自11/2019起更新

  1. 非常第一步,请确保安装Firebase Tools(此npm install -g firebase-tools的命令),我假设您之前已经安装了Node.jsnpm

  2. 在终端机firebase login中单击以登录到要导出的帐户(您可能已经登录了btw)。

  3. 使用firebase auth:export database.json --project projectName导出电子邮件和密码。

  4. 现在firebase logoutfirebase login到要导入的帐户。

  5. 转到要导出的项目Console-> Project-> Authentication-> Password hash parameter (这非常重要,如果您要从导入的参数中获取参数,将无法使用。)

您会看到类似的内容:

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,
}
  1. 在您的终端中运行firebase auth:import database.json --hash-algo=scrypt --rounds=8 --mem-cost=14 --hash-key=<long string of random characters> --salt-separator=<short string of random characters> --project=YOUR_PROJECT_NAME。注意:我没有为字符串使用引号,而且效果很好。

  2. 在新环境下测试身份验证。可能很明显,但是不要忘记将firebaseConfig更改为新项目:)

编辑:

要弄清它适用于哪个Firebase Tools版本:

$ firebase --version
7.6.1