使用React Native和Firebase处理具有不同凭据问题的帐户

时间:2018-06-07 01:00:13

标签: facebook firebase react-native firebase-authentication google-signin

有一个记录完备的错误(或者它可能更好地称为“设计模式”),这些错误涉及Firebase身份验证,其中用户拥有与Google关联的预先存在的帐户登录,然后他们尝试使用Facebook登录使用相同的电子邮件地址,Firebase会error.code auth/account-exists-with-different-credential

从2016年11月开始,这里有较旧的问答:Firebase Overwrites Signin with Google Account

从2017年5月开始,最好看的解决方案就在这里:https://stackoverflow.com/a/44040373/51482

但是,从2017年5月开始接受的答案并不能真正适用于React Native(注释掉的示例涉及JS Web)并且似乎没有任何关于我们可以获得的最佳用户体验的指导在这种情况下使用React Native框架提供。

以下是我的几个问题,答案可能会为如何最好地解决这个问题设定期望:

  1. 有没有办法将原有的Google和Facebook帐户关联起来,而用户无需再登录Google登录?
  2. 有没有办法使用抛出的error.email值,根据该电子邮件检索关联的Firebase Auth / Google帐户,然后将Google帐户凭据与Facebook error.credential值相关联?
  3. 对上述答案的评论说If you have your own mechanism to get that token, you get it for that Google email user and sign in。有没有推荐的方法来找到这种机制?
  4. 唯一已知的UX模式是强制用户阅读有关预先存在的Google帐户的消息,指示他们使用Google帐户登录,然后推送他们将Facebook帐户链接到其他屏幕上吗?
  5. Firebase文档在本机iOS,原生Android和Web平台之间非常可靠,但React Native是所有这些代码库之间的一种,我试图填补空白以获得良好的用户身份验证体验在这种情况下。

0 个答案:

没有答案