Firebase:用户注册后如何进行电话号码验证?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase:用户注册后如何进行电话号码验证?相关的知识,希望对你有一定的参考价值。
所以我知道我可以使用电子邮件验证或电话号码验证,但我想要做的是在用户注册或登录后进行电话号码验证。如何连接这两种身份验证方法。最后,Firebase中是否有一项功能可以检查用户是否通过电话号码进行验证?谢谢。
答案
即使用户已通过身份验证,您仍然可以使用firebase提供的APi来验证该号码。根据docs,只有当用户收到确认码并生成PhoneAuthCredential
时才会进行身份验证。如果你只想对手机进行验证,你可以简单地为回调onVerificationCompleted
提供定制反应。
通常你设置提供者:
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;
}
};
根据您关于验证用户登录方式的第二个问题,您可以查看此answer以了解如何检查firebase用户身份验证提供程序。
当用户登录时,您可以通过以下方式获取其电话号码(如果有)
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String number = user.getPhoneNumber();
以上是关于Firebase:用户注册后如何进行电话号码验证?的主要内容,如果未能解决你的问题,请参考以下文章
谁能告诉我如何使用flutter firebase电话身份验证获取uid/token?
如何在 iOS 上禁用 reCAPTCHA 验证以进行 Firebase 身份验证?