首页 > 解决方案 > 使用不同的提供者反应原生 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 登录现有帐户?

标签: javascriptreact-nativefirebase-authenticationreact-native-firebase

解决方案


当您调用 时auth().signInWithCredential(firebaseCredential),您确实在 Firebase 身份验证中创建了一个新帐户。

如果您想将 Facebook 凭据链接到现有帐户,则需要调用linkWithPopuplinkWithRedirect如 Firebase链接帐户文档中所示。


推荐阅读