我读过这个:
“帐户关联只能在创建新帐户的位置执行。换句话说,无法链接两个预先存在的帐户。”
它仍然是真的吗?
我想要这个工作流程:
现在,当用户执行logOut时,我想给他以前的Anonymous uid,而不是新的。这可能吗?
可以将匿名帐户转换为永久帐户。您可以通过将用户登录到新帐户,获取其凭据然后使用它与匿名帐户链接来实现,如documentation所述:
auth.currentUser.link(credential).then(function(user) {
console.log("Anonymous account successfully upgraded", user);
}, function(error) {
console.log("Error upgrading anonymous account", error);
});
但是当用户退出时,他无法恢复之前的uid。因为匿名帐户是临时的,如documentation所述:
您可以使用Firebase身份验证创建和使用临时匿名帐户,以便通过Firebase进行身份验证
我认为这是有道理的。因为如果用户是匿名的,这意味着他没有身份证明。所以你以前无法分辨谁在使用那个uid。
如果您想将匿名用户链接到现有帐户,则无法进行此操作。它会给你一个错误:'auth / credential-already-in-use'。您必须手动合并两个帐户。