首先,我使用函数createUserWithEmailAndPassword(jamesdmurphy51@gmail.com, password)
在Firebase中创建新用户。
然后,我使用以下代码使用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 文档中有关关联帐号的说明。