首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在otp自动填充的Firebase身份验证中,是否需要SMS检索API?

在otp自动填充的Firebase身份验证中,是否需要SMS检索API?
EN

Stack Overflow用户
提问于 2018-12-17 05:14:14
回答 1查看 3.6K关注 0票数 8

我使用Firebase auth api来验证用户的电话号码。目前,在我的例子中,我有一个屏幕,用户把电话号码和第二个屏幕otp。根据文档,firebase大部分时间都会自动检索otp并启动验证过程。所以我的问题是它已经在Firebase中实现了这个SMS Retriever API,或者我应该自己实现它来检索SMS和自动填充OTP。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-17 05:22:06

不是的。我们不需要管理短信检索场景。

如果设备包含相同的SIM卡,则由PhoneAuthProvider.OnVerificationStateChangedCallbacksonVerificationCompleted(PhoneAuthCredential phoneAuthCredential)方法中自动管理.

片段:

代码语言:javascript
运行
复制
private PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {

        @Override
        public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
            Toast.makeText(FCMsmsTest.this, "onVerificationCompleted " + phoneAuthCredential.toString(), Toast.LENGTH_SHORT).show();
            signInWithPhoneAuthCredential(phoneAuthCredential);
        }

        @Override
        public void onVerificationFailed(FirebaseException e) {
            Toast.makeText(FCMsmsTest.this, "onVerificationFailed " + e.toString(), Toast.LENGTH_SHORT).show();

            if (e instanceof FirebaseAuthInvalidCredentialsException) {
                Toast.makeText(FCMsmsTest.this, "Invalid Request " + e.toString(), Toast.LENGTH_SHORT).show();
            } else if (e instanceof FirebaseTooManyRequestsException) {
                Toast.makeText(FCMsmsTest.this, "The SMS quota for the project has been exceeded " + e.toString(), Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onCodeSent(String verificationId,
                               PhoneAuthProvider.ForceResendingToken token) {
            Toast.makeText(FCMsmsTest.this, "onCodeSent " + verificationId, Toast.LENGTH_SHORT).show();
            editText.setText("");

            mVerificationId = verificationId;
            PhoneAuthProvider.ForceResendingToken mResendToken = token;

            showDialog();
        }
    };
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53809300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档