如何知道在OTP发送给用户之前,firebase web中的电话号码是否已经和密码帐户链接

如何知道在OTP发送给用户之前,firebase web中的电话号码是否已经和密码帐户链接,firebase,web,firebase-authentication,Firebase,Web,Firebase Authentication,我正在使用firebase身份验证创建一个ionic应用程序。我提供了“facebook登录”和“密码验证”功能。当用户尝试通过上述两个功能登录时,我希望他们将自己的电话号码与Facebook或密码验证帐户相链接。我已经实现了将电话号码与他们的帐户链接的功能 我的要求是:我想检查他们试图链接的电话号码是否已经被firebase用户中的其他用户链接。如果没有,我允许他们链接,否则我不会。另外,我希望在OTP发送给用户之前得到这个结果 this.confirmationResult=this.aut

我正在使用firebase身份验证创建一个ionic应用程序。我提供了“facebook登录”和“密码验证”功能。当用户尝试通过上述两个功能登录时,我希望他们将自己的电话号码与Facebook或密码验证帐户相链接。我已经实现了将电话号码与他们的帐户链接的功能

我的要求是:我想检查他们试图链接的电话号码是否已经被firebase用户中的其他用户链接。如果没有,我允许他们链接,否则我不会。另外,我希望在OTP发送给用户之前得到这个结果

this.confirmationResult=this.auth.userCredential.user。linkWithPhoneNumber(this.phoneNumber,this.appVerifier)

我希望上面的代码应该返回一个错误,如果电话号码已经与其他一些帐户链接。 但是,它允许将OTP发送到用户的电话号码,然后提示我提供发送到电话号码的代码。 此外,我可以在验证OTP后接收错误代码,如
“身份验证/凭证已在使用”。我希望在将此代码发送到用户的电话号码之前。请帮助我实现此方案。

您可以使用Firebase Admin SDK确定是否已经存在具有电话号码的用户

下面是Node.js的一个示例

admin.auth().getUserByPhoneNumber(phoneNumber)
  .then(function(userRecord) {
    // A user with the phone number already exists.
    // You can also get other information related to the user from the
    // userRecord.
  })
  .catch(function(error) {
    console.log('Error fetching user data:', error);
  });