gpt4 book ai didi

java - Firebase:用户注册后如何进行电话号码认证?

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:32 26 4
gpt4 key购买 nike

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

最佳答案

即使用户通过身份验证,您仍然可以使用 firebase 提供的 API 来验证号码。根据docs ,仅当用户收到确认码并生成 PhoneAuthCredential 时,身份验证才会发生。如果您只想对手机进行验证,您只需提供对回调 onVerificationCompleted 的自定义 react 即可。

通常您设置提供程序:

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();

关于java - Firebase:用户注册后如何进行电话号码认证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com