代码之家  ›  专栏  ›  技术社区  ›  user_1357

Firebase是否将现有用户链接到匿名帐户?

  •  0
  • user_1357  · 技术社区  · 2 年前

    我有Ionic 7,Angular,独立应用程序。我目前正在尝试实现将匿名帐户链接到注册的/loggedin帐户。

    第一个场景是一个没有任何注册帐户的用户。这很好,我可以看到匿名帐户与新生成的帐户合并。

    const anonymousUser: User = this.auth.currentUser!
    const credential = EmailAuthProvider.credential(email,password)
    return linkWithCredential(anonymousUser, credential)
    

    问题是当这个用户注销并试图重新登录时。当用户注销后导航到应用程序时,我们仍然会生成匿名凭据。当我们尝试使用上面的链接凭据和现有用户时,我得到以下错误:

    FirebaseError:Firebase:错误(身份验证/电子邮件已在使用中)

    我如何处理用户试图重新登录并且我们想将其链接到现有匿名帐户的登录情况?这可能吗?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Doug Stevenson    2 年前

    不支持将任意数量的匿名帐户链接到完整的现有帐户。一旦用户选择 convert their anonymous account to a normal account ,然后他们才应该直接使用该帐户登录,以便使用之前的数据继续使用该应用程序。

    如果您在每次未经身份验证的访问中都要创建匿名帐户,那么当用户选择随后使用先前链接的(电子邮件)提供商使用其完整帐户登录时,您必须接受这些新帐户将被放弃的事实。

    也许可以考虑 automatic clean-up 如果你不想处理所有这些匿名帐户的积累。

    推荐文章