所以我们遇到了一些我们并不理解的事情:当我们尝试使用已经链接的帐户(包括Google和Facebook提供商)登录Facebook时,我们收到错误:auth/account-exists-with-different-credential'
。这是使用JS SDK的v4.12.1。
代码
async loginFacebook() {
const facebookProvider = this.getFacebookProvider();
await this.auth.signInWithRedirect(facebookProvider);
// The error is thrown here, and then caught by the .catch(), which is unexpected, because as mentioned, the accounts are already linked.
const result = await this.afAuth.auth.getRedirectResult()
.catch(this.linkIfDuplicateAccount);
// ... rest of code left out, as its irrelevant.
}
现在在关联帐户之前,我们预计会抛出上述错误;但他们被链接后!?为什么会这样?
一些奖励信息。我们最初的实施基于Firebase JS API auth - account-exists-with-different-credential,它似乎有效,但最近才注意到上述情况。
此外,当我们注销用户时,我们清除本地indexdb数据库,因为我们的设备可以在多个用户之间共享,但我不认为这是问题所在。无论如何提到。