Firebase身份验证:链接两个预先存在的帐户
我读过: “帐户链接只能在新帐户出现时执行 帐户已创建。换句话说,无法链接两个帐户 现有账户。” 这仍然是真的吗 我希望此工作流:Firebase身份验证:链接两个预先存在的帐户,firebase,firebase-authentication,angularfire2,Firebase,Firebase Authentication,Angularfire2,我读过: “帐户链接只能在新帐户出现时执行 帐户已创建。换句话说,无法链接两个帐户 现有账户。” 这仍然是真的吗 我希望此工作流: 用户登录应用程序并获取其匿名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);
});