没有切换帐户的“已存在具有相同电子邮件地址的帐户”

问题描述

我在使用 Facebook 的 Firebase 身份验证方面遇到了一个非常奇怪的问题。一个月前,我像往常一样在 Facebook 中创建了一个测试用户登录,但现在尝试使用它时,出现此错误

Error: An account already exists with the same email address but different sign-in credentials. Sign in using a provider associated with this email address.

当人们使用同一封电子邮件从 Facebook 转到 Google 时,我曾见过此错误。然而,这种情况并非如此。这个虚拟 Facebook 用户完全没有关联到 Google 帐户。我还可以在 Firebase 控制台中找到它的电子邮件地址,它仍然被标记为 Facebook:

Firebase marks as FB user

此问题首次出现在 Facebook 插件和 SDK 升级的同一时间段内。然而,我现在在旧的插件和 SDK 版本上重新测试了这个帐户,问题仍然存在,所以这似乎是一个巧合。

其他帐户似乎有效,但我们在生产环境中遇到了类似的问题,我们现在认为这可能是相同的。这让我们有机会全面调试这个。

额外信息: (web) 应用程序在 Angular (Ionic cordova) 上运行。我们正在使用 firebase.auth.FacebookAuthProvider,错误出现在 Cordova (firebase.auth().signInWithCredential) 和 web (afAuth.auth.signInWithPopup) 版本上。 对 Facebook 和 Googleapis 的网络调用似乎没问题并返回正确的身份(见截图 2),似乎 Firebase 包错误地给出了这个错误

控制台错误

console error

Firebase Identitytoolkit 网络响应:

identityToolkit response

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...