Autenticación del teléfono Android Firebase INVALID_APP_CREDENTIAL: Error en la validación de la aplicación

Soy realmente nuevo a firebase androide y he implementado las bibliotecas necesarias para Firebase Auth. Intento poner un número válido, pero el registro dice su:

W/JEJE: onVerificationFailed com.google.firebase.FirebaseException: An internal error has occurred. [ INVALID_APP_CREDENTIAL:App validation failed ] at com.google.android.gms.internal.nf.zzK(Unknown Source) at com.google.android.gms.internal.og.zza(Unknown Source) at com.google.android.gms.internal.oh.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6176) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778) 

Aquí está mi código:

 public class MainActivity extends AppCompatActivity { private static String mVerificationId; private static PhoneAuthProvider.ForceResendingToken mResendToken; private static FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText editText = (EditText) findViewById(R.id.phone); Button submit = (Button) findViewById(R.id.submit); final PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallBacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { @Override public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { Log.d("JEJE", "onVerificationCompleted:" + phoneAuthCredential); signInWithPhoneAuthCredential(phoneAuthCredential); } @Override public void onVerificationFailed(FirebaseException e) { Log.w("JEJE", "onVerificationFailed", e); if (e instanceof FirebaseAuthInvalidCredentialsException) { Log.d("JEJE", "INVALID REQUEST"); } else if (e instanceof FirebaseTooManyRequestsException) { Log.d("JEJE", "Too many Request"); } } @Override public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) { super.onCodeSent(s, forceResendingToken); Log.d("JEJE", "onCodeSent:" + s); mVerificationId = s; mResendToken = forceResendingToken; } }; submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String phoneNum = editText.getText().toString(); Toast.makeText(MainActivity.this, phoneNum, Toast.LENGTH_SHORT).show(); verifyPhone(phoneNum,mCallBacks); } }); } private void signInWithPhoneAuthCredential(PhoneAuthCredential phoneAuthCredential) { mAuth.signInWithCredential(phoneAuthCredential).addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()){ FirebaseUser user = task.getResult().getUser(); }else { if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) { // The verification code entered was invalid } } } }); } public void verifyPhone(String phoneNumber, PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks){ PhoneAuthProvider.getInstance().verifyPhoneNumber( "+639952874699", // Phone number to verify 60, // Timeout duration TimeUnit.SECONDS, // Unit of timeout this, // Activity (for callback binding) mCallbacks); // OnVerificationStateChangedCallback } } 

Por favor dime que esta mal gracias

5 Solutions collect form web for “Autenticación del teléfono Android Firebase INVALID_APP_CREDENTIAL: Error en la validación de la aplicación”

Añadir certificado SHA La huella digital resuelve mi problema. Bueno, soy bastante nuevo en esto, pero me las arreglé para mostrar la salida y pude recibir una verificación sms.

Para referencia aquí están mis códigos: https://github.com/coozgan/TestingPhoneAuth

También tengo el mismo problema.

Después de leer algún contenido encontré algún otro problema y después de ejecutar mi aplicación.

Problema 1: este enlace dice que,

Además, tenga en cuenta que el inicio de sesión de número de teléfono requiere un dispositivo físico y no funcionará en un emulador.

Así que puede probar y ejecutar sólo en el dispositivo real no cualquier emulador.

Si puede ejecutar en el emulador, entonces el mismo error da.

Puedes referir a mi github este enlace para Firebase Phone Login Ejemplo

Tenía exactamente el mismo problema que el tuyo. A pesar de que he subido tanto el SHA1 todavía daría un mensaje de error "inicio de sesión de teléfono".

Debe vincular el proyecto Firebase con Google Play.

Vaya a https://console.firebase.google.com/u/0/project/you-project-name/settings/accountlinking y, en la parte inferior derecha, haga clic en "Vincular a Google Play"

Intente actualizar su firebase-tools lib a la última versión, luego llame al logout de firebase seguido de inicio de sesión de firebase.

Bueno, después de un tiempo voy a resumir todo lo que descubrí sobre la verificación de teléfono. Hay algunas cosas que usted necesita hacer y debe recordar para que funcione.

Éstas son la lista de cosas que usted necesita hacer para que funcione:

  1. Cree una aplicación y conéctela a la suya con google-services.json que obtuvo de firebase. Póngalo en la carpeta correcta y asegúrese de haber agregado en la compile 'com.google.firebase:firebase-auth:11.0.4' Gradle compile 'com.google.firebase:firebase-auth:11.0.4' .
  2. En su aplicación en firebase, vaya a Authentication en el menú. A continuación, vaya al Sign-in Method y asegúrese de activar el proveedor de teléfono.
  3. Agrega un Sha-1 a tu aplicación. Cuando vaya a la configuración del proyecto dentro de su proyecto, vaya al final de la sección de su aplicación y verá un lugar donde colocar el Sha-1. Para conseguir el Sha-1 necesitas ejecutar este comando

Keytool -exportcert -list -v -alias androiddebugkey -keystore% USERPROFILE% .android \ debug.keystore

Como se menciona en la guía de firebase para ello. Tenga en cuenta que este comando está en línea para ejecutarlo todo junto, y lo que hará es buscar su archivo debug.keystore en su usuario en una carpeta oculta llamada .android. El alias predeterminado para el almacén de claves es androiddebugkey así que no lo cambie y la contraseña por defecto es android , así que cuando le pide una contraseña simplemente use "android". A continuación, verá una lista de devoluciones y una de ellas es Sha-1. Póngalo en su proyecto.

  1. Si todavía no funciona, esto no siempre es necesario, pero asegúrese de que su aplicación está vinculada a una cuenta de Google. En la configuración del proyecto-> Vinculación de cuentas-> Google Play.

También tenga en cuenta, esto está escrito el 16 de agosto de 2017, no puede hacer la verificación de teléfono en un emulador, así que utilice un dispositivo real.

Espero eso ayude.

  • Descripción de la función createUser de firebase (específicamente la biblioteca android)
  • Firebase: ¿Puedo usar el nuevo kit de cuentas de Facebook para autenticar usuarios de aplicaciones?
  • El perfil de FirebaseUser no se actualiza
  • No puedo registrarme usando el módulo de firebase auth
  • Firebase Android onAuthStateChanged llamado dos veces
  • "GoogleApiClient no está conectado todavía" al cerrar la sesión cuando se utiliza la autorización de Firebase con google inicie sesión
  • Uso del correo y la contraseña para autenticarse mediante la API REST
  • Android Firebase Auth - Obtener la foto del usuario
  • Error en la entrada de Facebook de Android
  • "No se pudo resolver: com.google.firebase: firebase-core: 9.0.0"
  • Firebase se bloquea en Android durante el inicio de sesión anónimo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.