Firebase Auth:链接两个预先存在的帐户

问题描述 投票:0回答:2

我读过这个:

“帐户关联只能在创建新帐户的位置执行。换句话说,无法链接两个预先存在的帐户。”

它仍然是真的吗?

我想要这个工作流程:

  1. 用户登录应用程序并使用他的Anonymous uid;
  2. 然后用户登录(用户以前注册),显然有他的uid;

现在,当用户执行logOut时,我想给他以前的Anonymous uid,而不是新的。这可能吗?

firebase firebase-authentication angularfire2
2个回答
0
投票

可以将匿名帐户转换为永久帐户。您可以通过将用户登录到新帐户,获取其凭据然后使用它与匿名帐户链接来实现,如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。


2
投票

如果您想将匿名用户链接到现有帐户,则无法进行此操作。它会给你一个错误:'auth / credential-already-in-use'。您必须手动合并两个帐户。

© www.soinside.com 2019 - 2024. All rights reserved.