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

MISSING_CLIENT_IDENTIFIER,同时尝试在Android中进行手机身份验证

曹兴贤
2023-03-14

我一直在尝试使用Firebase Auth执行电话身份验证方法,我已确保遵循所有步骤,添加我的包名称,使用添加SHA Key

keytool -list -v -keystore “%USERPROFILE%.android\debug.keystore” -alias androiddebugkey -storepass android -keypass android

然后添加所有的依赖项,并将json文件包含到我的项目中

现在,我正在以国家代码XXXXX格式发送我的电话号码,并且由于某种原因,它给了我一个MISSING_CLIENT_IDENTIFIER电话授权器。

这是我的代码

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.edit);
    send = (Button) findViewById(R.id.btnSend);
    send.setOnClickListener(this);
    mCallbacks= new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
        @Override
        public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
            Toast.makeText(getBaseContext(),"Verification Successfull",Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onVerificationFailed(FirebaseException e) {
            Toast.makeText(getBaseContext(),"Verification Failed "+e,Toast.LENGTH_LONG).show();
        }
    };
}




@Override
public void onClick(View view) {
    switch (view.getId()) {

        case R.id.btnSend:
            String temp = editText.getText().toString();
            Toast.makeText(getBaseContext(),temp,Toast.LENGTH_SHORT).show();
            PhoneAuthProvider.getInstance().verifyPhoneNumber(
                    temp,        // Phone number to verify
                    60,                 // Timeout duration
                    TimeUnit.SECONDS,   // Unit of timeout
                    this,               // Activity (for callback binding)
                    mCallbacks);
    break;




    }
}

共有3个答案

欧君之
2023-03-14

为了斯威夫特

  • true:测试电话号码
  • :真实电话号码
Auth.auth().settings?.isAppVerificationDisabledForTesting = false

测试电话号码可以在这里设置

石苏燕
2023-03-14

我也面临着同样的问题,这是因为我和我的wifi网络以及移动网络尝试和测试了很多次使用相同的设备。因此,他们以某种方式阻止了对此客户端ID的请求。一旦我在具有不同网络的不同设备中尝试了它,一切都很好。在开发时,只需将一个数字列入白名单并为其提供验证码

百里锋
2023-03-14

我通过反复试验(令人讨厌的未记录)确定,当您禁用了验证码请求(或静默APN请求)firebase用于验证应用程序环境并且您尝试登录非白名单号码时,会发生这种情况。

< code > FB auth . settings . appverificationdisabledfortesting = YES;

^将此更改回“否”,它将再次工作。

 类似资料:
  • 我正在尝试使用AWS自动化一些过程,并且需要使用我正在使用的API对自己进行身份验证。问题是,它的速度太慢了。我正在使用selenium无头chrome浏览器连接到页面,填写我需要的信息并提交表单(根据其他来源,我发现TD Ameritrade API只接受浏览器路径,所以没有办法只处理请求,如果你知道其他情况,那也太好了)。在页面上查找元素大约需要20秒,发送键可能需要整整一分钟,并尝试在5分钟

  • 我目前正在尝试迁移一些Java组件,以通过SSL客户端证书而不是PLAIN方法执行RabbitMQ连接身份验证,但是,几天后,我仍然在努力,因为所有java组件连接尝试都会遇到握手错误。在尝试使用SSL证书时查看RabbitMQ:握手错误,或者在使用SpringAMQP时查看RabbitMQ SSL给握手失败,不幸的是没有为我使用任何结果。 我试图使其工作的环境是一个运行UbuntuLTS14.0

  • 我正在编写一个Android应用程序,它应该使用NXP的写保护NTAG213 NFC标签进行身份验证。使用正确的密码一切正常,我得到了PACK作为回报。 尝试使用错误的密码进行身份验证时,我的代码无法正常运行。根据标签的描述,在这种情况下我应该收到一个NAK,但是我得到了一个< code>TagLostException。还是我弄错了,一切都如预期的那样?那么,我如何区分错误的密码和实际的< co

  • 在我的LaravelV5.4项目中,我有两个模型:用户和管理员。 在config/auth.php中,我向警卫和提供者添加了admin,如下所示: 现在在AdminController类中,我想使用Auth::true函数,但默认情况下它使用用户表。我可以在config/auth.php中更改默认值,如下所示,它可以工作,但在这种情况下,我不能为用户使用auth::trunt。 我想将用户设置为默

  • 我正在尝试在ec2的两个实例上设置zookeeper。如这里和这里所示。我正在尝试运行zookeeper,但失败了,出现了一个错误:命令: