使用不同的提供商响应原生火力基础身份验证



首先,我使用函数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 凭据关联到现有帐号,则需要调用linkWithPopuplinkWithRedirect,如 Firebase 文档中有关关联帐号的说明。

相关内容

  • 没有找到相关文章

最新更新