javascript - 使用不同的提供者反应原生 Firebase 身份验证
问题描述
首先,我使用函数在 firebase 中创建新用户createUserWithEmailAndPassword(jamesdmurphy51@gmail.com, password)
。
然后我使用下面的代码使用 Facebook 登录
const result = await LoginManager.logInWithPermissions(['public_profile', 'email']);
const data = await AccessToken.getCurrentAccessToken();
const firebaseCredential = await auth.FacebookAuthProvider.credential(data.accessToken);
const fbUserObj = await auth().signInWithCredential(firebaseCredential);
问题是它创建了一个具有单独 UID 的完全独立的用户帐户......即使链接到 facebook 帐户的电子邮件地址与过去使用的电子邮件地址相同createUserWithEmailAndPassword
。如何使用户可以使用 Facebook 登录现有帐户?
解决方案
当您调用 时auth().signInWithCredential(firebaseCredential)
,您确实在 Firebase 身份验证中创建了一个新帐户。
如果您想将 Facebook 凭据链接到现有帐户,则需要调用linkWithPopup
或linkWithRedirect
如 Firebase链接帐户文档中所示。
推荐阅读
- javascript - AJAX 返回的对象的未定义属性错误
- ansible - Ansible 失败“跳过:没有匹配的主机”与 ansible-pull
- heroku - 无法将自定义域添加到我的 heroku 应用程序
- javascript - 删除使用材质 ui 和 Reactjs 创建的列表中的任何项目
- encoding - 如何获得 RoBERTa 词嵌入?
- python - 如何装饰 Tkinter 文本小部件
- flutter - 如何使用 Flutter 编写带有数字点的段落?
- apache-spark - Parquet 列无法在文件中转换,预期:bigint,发现:INT32
- excel-formula - Excel:函数 correl 和 pearson 有什么区别?
- python - 您如何询问字符串中是否有数字?