使用错误的验证码进行身份验证时出现异常 [英] Exception when authenticating with wrong verification code
问题描述
我正在使用 Firebase 电话身份验证来验证用户帐户.当我尝试使用错误的验证码进行身份验证时,我收到 IllegalArgumentException.有没有办法在不使用 try
catch
块的情况下解决这个问题?
I'm using Firebase Phone Authentification to verify users accounts. When I try to authenticate with a wrong verification code, I get an IllegalArgumentException. Is there any way to fix that without using try
catch
blocks?
这是异常消息:
java.lang.IllegalArgumentException: Cannot create PhoneAuthCredential without either verificationProof, sessionInfo, or temporaryProof.
at com.google.android.gms.common.internal.zzbq.checkArgument(Unknown Source)
at com.google.firebase.auth.PhoneAuthCredential.<init>(Unknown Source)
at com.google.firebase.auth.PhoneAuthProvider.getCredential(Unknown Source)
at com.example.myApp.testFragment$3$4.onClick(testFragment.java:316)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20926)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
这是我得到错误的那一行:
And here is the line where I get the error :
PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationCode, inputCode);
我故意在 inputCode
中使用了错误的验证码,并希望得到错误消息而不是异常.
I'm intentionally using wrong verification code in inputCode
and hoping to get an error message instead of the exception.
推荐答案
调用 PhoneAuthProvider.getCredential(...)
返回一个 PhoneAuthCredential 对象,定义为:
包装电话号码和验证信息以进行身份验证.
Wraps phone number and verification information for authentication purposes.
所以 getCredential()
不能返回错误信息.相反,如果您提供的验证/凭据信息有问题,它会引发异常.
So getCredential()
cannot return an error message. Instead it throws an exception if there is a problem with the verification/credential information you provided.
这篇关于使用错误的验证码进行身份验证时出现异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!