Saltar al contenido

Excepción 10 de la API de inicio de sesión de Google

Solución:

Este error puede ocurrir si no está utilizando el mismo proyecto en console.developers.google y console.firebase.google.com. Si el proyecto es el mismo en ambas consolas, asegúrese de haber agregado su SHA1 Clave correctamente. Obtener SHA1 desde el estudio de Android.

  1. Abrir Android Studio
  2. Abra su proyecto
  3. Haga clic en Gradle (desde el panel lateral derecho, verá Gradle Bar)
  4. Haga clic en Actualizar (haga clic en Actualizar desde la barra de Gradle, verá la lista de scripts de Gradle de su proyecto)
  5. Haga clic en Su proyecto (Lista de formularios de nombre de su proyecto (raíz))
  6. Haga clic en Tareas
  7. Haga clic en Android
  8. Haga doble clic en signingReport (obtendrá SHA1 y MD5 en la barra de ejecución (a veces estará en la consola Gradle))
  9. Seleccione el módulo de la aplicación del menú desplegable de selección de módulos para ejecutar o depurar su aplicación. También necesita obtener google-services.json de la consola de firebase y ponerlo en su proyecto.

Aterricé en el mismo problema y perdí horas. Al profundizar en OAuth y OpenId, descubrí el motivo. Estamos cometiendo un error conceptual aquí.

Para Android o cualquier otra plataforma (excepto web), debe crear al menos dos tipos de ID de cliente en el mismo proyecto de la consola API de Google. Estos tipos de ID de cliente son:

  1. Aplicación web
  2. Androide

Puede crearlos en cualquier orden. Al crear el ID de cliente de tipo Android, debe proporcionar el nombre del paquete y SHA1. Al crear la identificación de la aplicación web, solo necesita dar un nombre.

No necesita hacer nada con ninguna de estas identificaciones hasta que desee verificar al usuario en su backend. En otras palabras, si desea que su servidor de back-end le pregunte al servidor de Google sobre la información de este usuario, solo necesitará el ID de la aplicación web. El flujo conceptual es el siguiente:

  1. Primero envíe el ID de cliente de la aplicación web desde la aplicación de Android al servidor de inicio de sesión de Google como una opción adicional mediante requestIdToken (your_web_app_client_id).
  2. Recibirá un token en la aplicación de Android cuando el usuario inicie sesión.
  3. Envía este token a tu backend.
  4. Ahora su backend puede intercambiar este token con los servidores de Google para obtener información del usuario.

Envíe este ID de cliente de aplicación web desde la aplicación de Android al servidor backend.

Utilice este ID de aplicación web si desea verificar el usuario en su backend.

Encontré otra fuente del problema.

En mi caso las llaves estaban bien, pero ID de aplicación campo en build.gradle El script difiere del nombre del paquete de la aplicación.

Una pequeña investigación mostró que ID de aplicación El valor del campo tiene algún tipo de “precedencia” antes del nombre del paquete de la aplicación que conserva la autenticación de Google.

Después de comentar ID de aplicación en linea build.gradle, la aplicación se autentica en Google por el nombre del paquete.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *