Java Firebase:用户注册后如何进行电话号码验证?

Java Firebase:用户注册后如何进行电话号码验证?,java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,所以我知道我可以使用电子邮件验证或电话号码验证,但我想做的是在用户注册或登录后进行电话号码验证。如何连接这两种身份验证方法。最后,Firebase中是否有检查用户是否通过电话号码验证的功能?谢谢。即使用户已通过身份验证,您仍然可以使用firebase提供的APi来验证号码。根据,只有当用户收到确认码并生成PhoneAuthCredential时,才会进行身份验证。如果您只想对手机进行虚拟化,只需在验证完成时提供对回拨的自定义反应即可 通常情况下,您可以设置提供程序: PhoneAuthProvi

所以我知道我可以使用电子邮件验证或电话号码验证,但我想做的是在用户注册或登录后进行电话号码验证。如何连接这两种身份验证方法。最后,Firebase中是否有检查用户是否通过电话号码验证的功能?谢谢。

即使用户已通过身份验证,您仍然可以使用firebase提供的APi来验证号码。根据,只有当用户收到确认码并生成
PhoneAuthCredential
时,才会进行身份验证。如果您只想对手机进行虚拟化,只需在验证完成时提供对回拨的自定义反应即可

通常情况下,您可以设置提供程序:

PhoneAuthProvider.getInstance().verifyPhoneNumber(
        phoneNumber,        
        60,                 
        TimeUnit.SECONDS,   
        this,               
        mCallbacks);        
您实现了一系列回调

mCallbacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {

    @Override
    public void onVerificationCompleted(PhoneAuthCredential credential) {
        //No need to authenticate again, just react to verified number
        //signInWithPhoneAuthCredential(credential);
    }

    @Override
    public void onVerificationFailed(FirebaseException e) {

        if (e instanceof FirebaseAuthInvalidCredentialsException) {

        } else if (e instanceof FirebaseTooManyRequestsException) {

        }

    }

    @Override
    public void onCodeSent(String verificationId,
                           PhoneAuthProvider.ForceResendingToken token) {

        mVerificationId = verificationId;
        mResendToken = token;

    }
};
根据您关于验证用户如何登录的第二个问题,您可以检查此项以了解如何检查firebase用户身份验证提供程序

用户登录后,您可以拨打以下电话获取其电话号码(如果有):

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String number = user.getPhoneNumber();

哇,你真是帮了大忙。非常感谢。很乐意帮忙:)非常有帮助。你救了我。非常感谢。