Firebase JS API auth - account-exists-with-different-credential Firebase JS API auth - account-exists-with-different-credential

14 浏览
0 Comments

Firebase JS API auth - account-exists-with-different-credential Firebase JS API auth - account-exists-with-different-credential

我们在尝试解决这个问题时遇到了真正的困难,希望得到一些Firebase的帮助/那些已经解决了相同问题的人的帮助。

这个应用程序是React Native(0.43.2),使用Firebase JS API(最新版本)。

我们提供了Facebook和Google身份验证,运行良好。

但是,如果用户:

  1. 使用Facebook登录(没问题)
  2. 稍后使用Google登录(也没问题)
  3. 稍后尝试使用Facebook登录 - 问题来了!Firebase返回以下错误:

auth/account-exists-with-different-credential

根据阅读文档和一些Stack Overflow的帖子,我们认为以下操作是正确的,但显然不是,因为我们仍然收到相同的身份验证错误。

...在尝试Facebook登录后Firebase身份验证返回的错误...
const email = error.email;
const pendingCred = error.credential;
firebase.auth().fetchProvidersForEmail(email)
.then(providers => {
   //providers返回的数组是 ["google.com"]
   firebase.auth().signInWithCredential(pendingCred)
   .then(result => {
       result.user.link(pendingCred)
   })
   .catch(error => log(error))

调用signInWithCredential引发了相同的错误auth/account-exists-with-different-credential

有谁可以帮助指出我们在这个实现中做错了什么?非常感谢。

0