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;
}
};
1 回答
即使用户已通过身份验证,您仍然可以使用firebase提供的APi来验证该号码 . 根据docs,仅当用户收到确认代码并生成
PhoneAuthCredential
时才会进行身份验证 . 如果你只想对手机进行验证,你可以简单地为回调onVerificationCompleted
提供自定义反应 .通常你设置提供者:
并且您实现了一系列回调 .
根据您关于验证用户登录方式的第二个问题,您可以查看answer以了解如何检查firebase用户身份验证提供程序 .
当用户登录时,您可以通过以下方式获取其电话号码(如果有)