当前位置: 首页 > 知识库问答 >
问题:

Firebase身份验证是否需要SMS Retriever API来自动填充otp?

谈萧迟
2023-03-14

我正在使用Firebase auth api验证用户电话号码。目前在我的情况下,我有一个屏幕,用户把电话号码和第二个屏幕上的otp。根据文件firebase自动检索otp并在大多数情况下启动验证过程。所以我的问题是,它已经在Firebase Auth SDK中实现了这个SMS Retriever API,或者我应该自己实现它来检索SMS和自动填充OTP。

共有1个答案

南门鸿雪
2023-03-14

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

如果设备包含相同的SIM卡,则由PhoneAuthProvider自动管理。OnVerificationStateChangedCallbacks在onVerificationCompleted(PhoneAuthCredential PhoneAuthCredential)方法中。

片段:

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

 类似资料:
  • 我们正在开发一个iOS应用程序,它使用谷歌来验证firebase。根据https://www . Firebase . com/docs/IOs/guide/user-auth . html # section-log in Firebase说,auth令牌每24小时过期一次。我们想知道以下场景是否是我们需要考虑的: 用户通过Google和Firebase进行身份验证 我们的应用程序将获得一个24

  • 问题内容: 我收到错误 NOAUTH必需的身份验证 。我的laravel版本是5.3,我正在使用predis 1.1.1连接redis。 在etc / redis / redis.conf中,我有: 在.env文件中 在config / database.php中,我有: 我通过以下方式连接redis: 并像这样使用它: 因此,当我注释掉并将密码发送为null时,它可以工作,但在密码到位后却无法工

  • 因此,我正试图确定Firebase认证“验证”可能会迅速与Firebase定价计划挂钩的所有潜在方式。 如果我错了,请纠正我,但在以下情况下,授权验证将计入定价计划: 用户成功登录。 用户成功创建帐户。 当登录/创建由于某种原因失败时,不会 我在firebase.auth()的文档中找不到任何内容。onAuthStateChanged()方法对验证进行计数。 要检查身份验证状态是否已更改,您是否还

  • 我一直很难找到Google Firebase身份验证背后的SLA。根据托管和实时数据库的服务水平协议,Firebase的每月正常运行时间百分比应至少达到99.95%。它是否适用于身份验证服务?

  • 我正在学习使用ADFS进行基于SAML的声明验证。与其将用户带到IDP的登录页面,然后请求用户输入她的凭据,不如在SP中获取用户的凭据并将其传递给IDP以在那里进行验证,然后使用SAML令牌返回SP。 这纯粹是实验性的,我想尝试一下,以避免用户在IdP登录页面中输入凭据,而不是在SP中获取她的凭据从IdP验证。 谢谢

  • 我正在使用fire base制作一个反应原生应用程序,用于使用电子邮件登录im并通过身份验证。但是,有没有办法使用用户名和密码登录?