Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase身份验证:链接两个预先存在的帐户_Firebase_Firebase Authentication_Angularfire2 - Fatal编程技术网

Firebase身份验证:链接两个预先存在的帐户

Firebase身份验证:链接两个预先存在的帐户,firebase,firebase-authentication,angularfire2,Firebase,Firebase Authentication,Angularfire2,我读过: “帐户链接只能在新帐户出现时执行 帐户已创建。换句话说,无法链接两个帐户 现有账户。” 这仍然是真的吗 我希望此工作流: 用户登录应用程序并获取其匿名uid 然后用户登录(用户以前注册过),显然有他的uid 现在,当用户注销时,我想给他以前的匿名uid,而不是新的。 这可能吗?可以将匿名帐户转换为永久帐户。您可以通过将用户登录到新帐户,获取其凭据,然后使用该凭据链接到匿名帐户来实现此目的,如上所述: 但是当用户注销时,他无法恢复以前的uid。因为匿名帐户是临时的,如上所述: 您可以使用

我读过:

“帐户链接只能在新帐户出现时执行 帐户已创建。换句话说,无法链接两个帐户 现有账户。”

这仍然是真的吗

我希望此工作流:

  • 用户登录应用程序并获取其匿名uid
  • 然后用户登录(用户以前注册过),显然有他的uid 现在,当用户注销时,我想给他以前的匿名uid,而不是新的。
    这可能吗?

    可以将匿名帐户转换为永久帐户。您可以通过将用户登录到新帐户,获取其凭据,然后使用该凭据链接到匿名帐户来实现此目的,如上所述:

    但是当用户注销时,他无法恢复以前的uid。因为匿名帐户是临时的,如上所述:

    您可以使用Firebase身份验证来创建和使用临时 使用Firebase进行身份验证的匿名帐户


    我认为这是有道理的。因为如果用户是匿名的,这意味着他没有身份证明。因此,您无法判断之前谁在使用该uid。

    如果您想将匿名用户链接到现有帐户,则不可能。它将给您一个错误:“身份验证/凭证已在使用”。您必须手动合并两个帐户。

    Ti的答案是正确的。您无法链接2个预先存在的帐户。如果有两个用户具有不同的
    uid
    s,则无法链接它们。您需要手动合并这两个用户数据。是否有正式记录的帐户合并或完全DIY?没有正式的文档。因为这取决于与用户关联的数据类型。基本上,您需要将数据从一个用途复制到另一个用途,并删除其中一个用途。
    auth.currentUser.link(credential).then(function(user) {
      console.log("Anonymous account successfully upgraded", user);
    }, function(error) {
      console.log("Error upgrading anonymous account", error);
    });