gpt4 book ai didi

Firebase:将 Facebook 帐户与现有用户关联

转载 作者:行者123 更新时间:2023-12-03 00:39:35 25 4
gpt4 key购买 nike

我在 Firebase 中拥有一个包含活跃用户的当前数据库,可以使用 user/pwd 登录,但现在我正在实现 facebook 登录,并且我意识到将 facebook 帐户与现有用户关联的唯一方法是仅当用户已使用用户/密码登录,但未在登录之前登录。

我的应用程序中有两个按钮(使用 Facebook 和电子邮件登录),但如果我尝试使用现有用户的同一电子邮件登录 Facebook,我将收到以下错误 auth/account-exists- with- different-credential 并且文档说,为了解决此问题,用户需要先登录然后链接。

您知道是否有一种方法可以链接两个帐户,但无需先从登录 View 执行登录?

最佳答案

在链接之前,您需要先登录用户。如果您想确保它是同一用户,这一点很重要。否则,您可以在 Firebase 控制台中为每个电子邮件切换到多个帐户。解决这个问题的方法是,当您收到错误auth/account-exists-with- Different-credential时,错误将包含error.emailerror。登录 Facebook 后的凭据,并且该帐户已作为密码帐户存在。然后,您调用 firebase.auth().fetchProvidersForEmail(error.email) 来解析该电子邮件的提供程序 ID 列表。在本例中,它将包含 ['password']。然后您要求用户提供密码。您调用 signInWithEmailAndPassword(error.email, password) 来登录原始用户。然后,您可以调用 firebase.auth().currentUser.linkWithCredential(error.credential) 将 Facebook 凭据链接到密码帐户。现在两个帐户已合并,用户可以使用其中一个帐户登录。

关于Firebase:将 Facebook 帐户与现有用户关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45871038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com