javascript - Firebase 如何链接用电话号码创建的帐户

标签 javascript reactjs firebase firebase-authentication

✅ 我可以让用户使用 verifyPhoneNumber 更新他们的手机号码个人资料,并更新 currentUser.updatePhoneNumber

❌ 当我允许通过电话登录时出现问题,新用户 尝试使用电话号码登录时,会自动创建一个帐户。

如果我随后需要将号码与电子邮件帐户相关联,上述方法将返回credential-already-in-use 错误。

Firebase 在其 documentation 中推荐以下方法.

var credential = firebase.auth.PhoneAuthProvider.credential(confirmationResult.verificationId, code);

firebase.auth().signInWithCredential(credential);

所以我一起做了这个 linkWithCredential 然而,signInWithCredential 返回一个结果 result.credential = null

// Sign in user with the account you want to link to
auth.signInWithCredential(credential).then(function(result) {
  console.log("Sign In Success", result);
  var currentUser = result.user;

  return prevUser.linkWithCredential(result.credential) //this line doesn't work.
    .then(function(linkResult) {

      return auth.signInWithCredential(linkResult.credential);
    })
}).catch(function(error) {

  console.log("Sign In Error", error);

});

由于 result.credential = null,我无法继续使用 LinkWithCredential。

我也尝试过 linkWithPhoneNumber,但它返回一个验证 ID,我仍然无法合并帐户。

❓我可以知道你们是如何将 phoneNumber 帐户与其他帐户(Facebook/google/email)合并的吗?

最佳答案

如果您想将现有帐户与电话号码相关联,您可以使用 linkWithPhoneNumber。基本上,您在用户登录后(比如使用 Google)检索用户信息,然后将该凭据与电话号码相关联。我找到了与您的问题相似的详细答案 link here

关于javascript - Firebase 如何链接用电话号码创建的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65182959/

相关文章:

javascript - 工具栏 JavaScript Pin to/Onmouseover 事件冲突

javascript - 在nodejs中向外部模块添加功能

javascript - 理解 javascript 数组

reactjs - 如何在 React-vis 上启用工具提示?

javascript - 使用 React 创建嵌套的条件 setState 变量值

java - 如何监听Firebase数据库集合的变化?

java - 将同名的单选按钮传递给 servlet

javascript - React 如何在状态更改后更新组件及其子组件?

ios - CocoaPods 没有将 Firebase SDK 更新到版本 4.0.0

firebase - 如何在 Firebase 控制台中使用对象数组创建 Firestore 文档?