Saltar al contenido

Inicio de sesión de Google con Firebase en Android

Esta guía te ayudará a integrar el inicio de sesión de Google con Firebase Authentication en Android. Asumo que ya has completado la configuración general de Google con Firebase

Asumiré que aún no has creado tu aplicación de Android en la consola de Firebase. Si ya lo has hecho, tus pasos serán ligeramente diferentes.

  1. Ve a la descripción general de tu proyecto en console.cloud.google.com

    Firebase Project Descripción general
  2. Haz clic en el botón Add app

    Firebase Agregar Aplicación Button

    Es posible que tengas que buscar este botón aquí. Esto solo aplica si ya has creado una aplicación diferente en la consola de Firebase.

    Firebase Agregar Aplicación Button
  3. Selecciona Android

    Firebase Agregar Aplicación Android Button
  4. Completa la primera parte del formulario

    1. Completa el Android package name
      1. Abre Android Studio en tu aplicación usando npx cap open android
      2. En la parte inferior del navegador, encuentra los Gradle Scripts Gradle Scripts section in Android Studio project navigator
      3. Encuentra build.gradle para el módulo app Construir.gradle (Módulo: Aplicación) file in Gradle Scripts section
      4. Copia el android.defaultConfig.applicationId. Este será tu package name en la consola de Firebase Construir.gradle file showing applicationId Configuración

      El ID mostrado aquí será diferente del que usaré para el resto de la guía. Usaré app.capgo.plugin.SocialLogin para el resto de la guía.

      1. Pégalo en la consola de Firebase Firebase Agregar Aplicación Android Paquete Name Field
    2. Haz clic en el botón Register app Firebase Agregar Aplicación Android Register Button
  5. Omite el paso Download and then add config file

    Firebase Agregar Aplicación Android Skip 'Descargar and then Agregar config file'
  6. Omite el paso Add firebase SDK

    Firebase Agregar Aplicación Android Skip 'Agregar Firebase SDK'
  7. Haz clic en el botón Continue to console

    Firebase Agregar Aplicación Android Continue A Console Button
  8. Si no te autentificas automáticamente, ve a settings -> general -> your apps -> encuentra tu aplicación de Android y haz clic en ella

    Firebase Agregar Aplicación Android Configuración General Your Aplicaciones Button
  9. Obtén tu huella digital SHA1

    Sigue los pasos 10-11 de la guía de configuración de Google Login para Android:

    1. Ahora, abre la terminal. Asegúrate de estar en la carpeta android de tu aplicación y ejecuta ./gradlew signInReport

      Terminal showing gradlew signInReport Comando
    2. Desplázate hacia arriba en esta salida del comando. Deberías ver lo siguiente. Copia el SHA1.

      Terminal output showing SHA1 certificate fingerprint

    Usaré un SHA1 ligeramente diferente para el resto de la guía, porque he cambiado de computadora desde que escribí la guía original de configuración de inicio de sesión de Google para Android.

    :::Precaución El SHA1 es muy importante obtenerlo correctamente. Si te equivocas, la autenticación fallará de maneras extrañas. Por favor LEE LA GUÍA DE CONFIGURACIÓN DE GOOGLE LOGIN PARA ANDROID para hacerlo correctamente. :::

  10. Agrega el SHA1 al proyecto de Firebase

    1. Haz clic en el botón Add fingerprint Firebase Agregar Aplicación Android Agregar Fingerprint Button
    2. Pega el SHA1 que copiaste en el paso anterior Firebase Agregar Aplicación Android Agregar Fingerprint SHA1 Field
    3. Haz clic en el botón Save Firebase Agregar Aplicación Android Agregar Fingerprint Guardar Button
  11. Obtén tu ID de cliente web

    1. Ve a Build -> Authentication Firebase Authentication Menu
    2. Haz clic en el botón Sign-in method Firebase Authentication Sign-in Método Button
    3. Haz clic en el proveedor Google Firebase Authentication Sign-in Método Google Provider
    4. Haz clic en el botón Web SDK configuration Firebase Authentication Sign-in Método Web SDK Configuración Button
    5. Copia el Web client ID. Este será tu webClientId en el método initialize del Plugin.
    Firebase Authentication Sign-in Método Web SDK Configuración Web Client ID
  12. Usa el ID de cliente web en JS.

    Recomiendo usar la función auxiliar authenticateWithGoogle disponible en el archivo authUtils.ts de la aplicación de ejemplo.

En este punto, estás TÉCNICAMENTE listo para usar el inicio de sesión de Google con Firebase Authentication en Android. Sin embargo, recomendaría verificar la configuración en la consola de Google Cloud como se explica en el siguiente paso.

Verifica la configuración en la consola de Google Cloud

Section titled “Verifica la configuración en la consola de Google Cloud”

Para asegurarte de que la configuración es correcta, deberías verificarla en la consola de Google Cloud.

  1. Ve a console.cloud.google.com

  2. Encuentra tu proyecto

    1. Haz clic en el selector de proyectos Google Cloud Console Project Selector
    2. Busca tu proyecto por el nombre exacto de tu proyecto de Firebase y haz clic en él. En mi caso, es sociallogin-tutorial-app. Firebase Project Selector Project
  3. Abre la barra de búsqueda y abre credentials

    1. Abre la barra de búsqueda Google Cloud Console Buscar Bar
    2. Busca credentials y haz clic en el de APIs and Services (número 2 en la captura de pantalla) Google Cloud Console Credenciales Buscar
  4. Verifica que veas tanto el ID de cliente de Android como el ID de cliente web en la lista.

    Google Cloud Console Credenciales List

    :::Precaución Si no ves ambos IDs de cliente de Android y Web en la lista, has cometido un Error en la configuración. Por favor, vuelve atrás y verifica tus pasos.

    También es posible, y me ha sucedido, que ya hayas agregado el hash SHA1 de Android con el mismo ID de aplicación en un proyecto diferente. Esto resultará en que Firebase no pueda crear un ID de cliente de Android. En este caso, necesitarás eliminar el SHA1 del otro proyecto así como en Firebase (usando la consola de Firebase para eliminar la aplicación de Android) y recrearlo en Firebase :::

  5. Verifica que el ID de cliente de Android esté configurado correctamente en la consola de Firebase.

    1. Haz clic en la aplicación Android Google Cloud Console Android Aplicación Seleccione
    2. Confirma que el hash SHA1 esté configurado correctamente y que coincida con el que copiaste en los pasos anteriores. Google Cloud Console Android Aplicación SHA1 Configured
  6. Verifica que el ID de cliente web esté configurado correctamente en la consola de Firebase.

    1. Haz clic en la aplicación Web Google Cloud Console Aplicación web Seleccione
    2. Confirma que el ID de cliente coincida con el que copiaste en los pasos anteriores. Google Cloud Console Aplicación web Client ID Configured

    Por favor, ignora el resto de la configuración del cliente web. Discutiremos esto en la guía de configuración web.

¡Listo! Ahora estás preparado para usar el inicio de sesión de Google con Firebase Authentication en Android.

Si la autenticación se bloquea o falla:

  • Verifica que la audiencia del idToken coincida con tu ID de cliente web de Firebase
  • Verifica que el inicio de sesión de Google esté habilitado en la consola de Firebase
  • Asegúrate de que la huella digital SHA-1 esté configurada correctamente
  • Revisa el código de la aplicación de ejemplo como referencia