有一个记录完备的错误(或者它可能更好地称为“设计模式”),这些错误涉及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框架提供。
以下是我的几个问题,答案可能会为如何最好地解决这个问题设定期望:
error.email
值,根据该电子邮件检索关联的Firebase Auth / Google帐户,然后将Google帐户凭据与Facebook error.credential
值相关联?If you have your own mechanism to get that token, you get it for that Google email user and sign in
。有没有推荐的方法来找到这种机制?Firebase文档在本机iOS,原生Android和Web平台之间非常可靠,但React Native是所有这些代码库之间的一种,我试图填补空白以获得良好的用户身份验证体验在这种情况下。