MISSING_CLIENT_IDENTIFIER,尝试在Android中进行PhoneAuth

时间:2017-08-28 11:28:43

标签: android firebase firebase-authentication

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

添加SHA密钥
  

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

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

现在我以 + CountryCodeXXXXX 格式发送我的电话号码,出于某种原因,它在PhoneAuthProvider.OnVerificationStateChangedCallbacks()方法中为我提供了 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;




    }
}

2 个答案:

答案 0 :(得分:1)

我已经通过反复试验(令人惊讶地未记录)确定,当您禁用验证码请求(或无提示APN请求)firebase用于验证应用程序环境并且您尝试使用非白色登录时,会发生这种情况列出的号码。

fbAuth.settings.appVerificationDisabledForTesting = YES;

^将其更改回NO,即可再次使用。

答案 1 :(得分:0)

我也遇到了同样的问题,这是因为我使用同一个设备通过wifi网络以及移动网络进行了多次尝试和测试。因此,他们以某种方式阻止了对此客户ID的请求。一旦我在具有不同网络的其他设备中尝试过,一切都很好。仅开发whitelisting a number并为其提供验证代码