当前位置: 首页 > 知识库问答 >
问题:

需要将firebase匿名帐户链接到firebase上的google登录或facebook登录帐户

方河
2023-03-14

我有一个场景,我通过使用firebase身份验证通过匿名登录,并从匿名登录帐户,我已经从事件列表中添加了事件作为收藏夹项目,现在我想使用Google或Facebook登录,以便我最喜欢的项目永远不会丢失,每当我登录收藏夹项目必须从该登录帐户获得。

我正在使用上述场景Firebase链接。但问题是,firebase链接只对一个匿名帐户有效一次,如果我再次匿名登录并添加最喜欢的事件,现在我使用以前的方法如谷歌登录并链接这个匿名帐户,总是得到错误“证书已经链接”

我的代码如下

let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                       accessToken: authentication.accessToken)



        // sign with firebase auth
        Auth.auth().currentUser?.link(with: credential, completion: { (user, error) in
            if let error = error {
                print("Error in authentication linking")
                print(error)
               }
print("successfully linked")
})

共有1个答案

杨研
2023-03-14

这不是一个错误,这是它应该工作的方式。当您匿名登录用户时,Firebase 会为该匿名用户分配一个 UID。一旦该用户链接到正确的帐户,该帐户就会从匿名用户那里分配UID。

您正在做的是匿名签署现有用户,这会为他们分配一个新的UID。然后您尝试将该UID与现有帐户链接。您得到的错误是正确的。从您第一次链接上一个匿名帐户时起,帐户凭据就已经在使用中。

一旦用户创建了一个帐户(即他们的匿名帐户被链接),他们需要继续使用该帐户。

这意味着您可以不再让他们匿名登录,也可以让他们登录。

将匿名帐户转换为永久帐户

将多个身份验证提供程序链接到 iOS 上的一个帐户

 类似资料:
  • 将匿名帐户转换为永久帐户的文档指出了流程的3个步骤,但是步骤2似乎违反了步骤1。 当用户注册时,完成用户身份验证提供者的登录流程,直到(但不包括)调用其中一个身份验证提供者。用方法来表示。例如,获取用户的Google ID令牌、Facebook访问令牌或电子邮件地址和密码 获取新身份验证提供程序的身份验证凭据:

  • 这是一个PHP代码片段,来自我正在全局转换为PDO的项目。这就是功能。登录页面的php文件。显然,它没有完全转换为PDO,所以不要批评它,但基本上是在登录中。php文件我让它访问这个方法,并从表单中传递数据库(在中是必需的)、用户名和密码。我设置了一个基本查询,以查找使用表单用户名输入的所有用户。然后我准备并执行查询。然后,我需要一个行计数,因此我在查询上设置了一个$rowcount变量,运行ro

  • 我有以下场景:使用firebase Auth对用户进行匿名身份验证。然后,他用电子邮件和密码登录到一个现有的账户。然后,他再次从账户中注销。现在,我想重新创建他以前使用过的匿名帐户。 是否可以在设备上本地存储匿名凭据,并在以后再次登录匿名帐户时使用它们?我想保存访问/刷新令牌就足够了,但是firebase auth是否为此提供了API?

  • 当使用Firebase身份验证匿名帐户时,它偶尔会在系统中创建一个新的用户ID,有时它会使用相同的用户ID。我真的希望每次都能创建相同的用户ID,这样匿名用户仍然可以在应用程序中维护相同的进度/数据。这实际上是我开始使用Firebase的原因。即使在重新启动应用程序等之后,我如何始终维护一个匿名帐户来保持相同的用户ID? 我希望用户每次以访客身份玩游戏时都能获得相同的ID。我看到有些应用程序在卸载

  • 我正在尝试构建一个使用数据库的应用程序,允许用户以管理员或员工身份登录 管理员几乎没有选项: 添加新员工, 列出所有员工和 为选定员工添加待办事项 受雇者 登录时显示待办事项 我遇到的第一个问题是: 我应该为所有记录(员工)只创建一个表吗 第二个问题是,我不知道如何为成功登录的用户显示项目列表。如何访问登录用户的数据?

  • 我正面临一个奇怪的admob登录问题,无法找到任何解释这个确切的问题在网上。问题来了:--我有一个admob账户--我在这个账户上安装了一个应用程序链接--应用商店上发布的应用程序完美地显示了广告--但在此之后的3、4天,我就无法登录我的admob账户了。与此同时,该应用程序已经停止显示这些广告。-每次我尝试登录时,admob网页都告诉我“您当前以charlesdurandjp@gmail.com