Introducción

El término «experiencia personalizada» está ahora de moda. Las industrias han empezado a darse cuenta de lo crucial que es saber qué piensa cada persona antes de tomar una decisión. Ayuda a optimizar los recursos y a ampliar el alcance de los productos. En consecuencia, la mayoría de las aplicaciones piden ahora una identidad de usuario para crear la premisa de una experiencia personalizada.  Sin embargo, disponer de una autenticación o identidad propia como solución es difícil. Cuando se presenta una ocasión así, Firebase Authentications entra en escena para salvarnos el día.

 ¿Qué es la autenticación Firebase?

 La autenticación Firebase es una herramienta para autenticar usuarios de forma rápida y segura.  Es fácil de usar y proporciona un camino muy claro para la autenticación y el método de inicio de sesión. Por qué es importante la autenticación Firebase En lugar de construirla tú mismo, usar la autenticación como servicio tiene ventajas en términos de tiempo, coste, seguridad y estabilidad. Firebase Authentication ya ha hecho el trabajo por ti en términos de almacenamiento seguro de cuentas, flujos de autenticación de correo electrónico/teléfono, etc.

 Firebase Authentication tiene muchas integraciones con productos desarrollados como Cloud Firestore, Realtime Database, y Cloud Storage.  Firebase Authentication se utiliza para introducir seguridad granular por usuario, y se utilizan reglas de seguridad declarativas para salvaguardar estos productos. El inicio de sesión es sencillo en cualquier plataforma. Es una solución de identidad completa que admite autenticación telefónica, cuentas de correo electrónico y contraseñas, inicio de sesión en Google, Twitter, Facebook y GitHub, y mucho más. Primeros pasos

 Usando las APIs de Google y Firebase, en este blog nos concentraremos en integrar la funcionalidad de Firebase Authentication for Google Sign-In en nuestra aplicación Android.

 Crear un proyecto para Android Inicia un nuevo proyecto y selecciona tu plantilla preferida.


Seleccioné «Actividad vacía». Complete introduciendo un nombre.

Modifiquemos el diseño de la actividad principal para incluir información sobre el usuario, como su nombre y su foto de perfil. Además, añada un botón de cierre de sesión para que tengamos una comprensión del flujo de cierre de sesión también.


Crear un proyecto Firebase

 Necesitamos crear un proyecto firebase para cada herramienta firebase antes de poder usarla. Vamos a crear uno para nuestra aplicación RemoteConfigSample

 Haz clic en «Add Project» en https://console.firebase.google.com/ para iniciar un nuevo proyecto.

Dé un nombre cualquiera a su proyecto y haga clic en `Continuar`.
Seleccione su ubicación de Analytics y cree el proyecto.
Añadir aplicación Android a nuestro proyecto Firebase
Haga clic en el icono de Android para crear una aplicación Android en el proyecto firebase


Tenemos que añadir la configuración SHA-1 para Google Sign -in, Ejecute el siguiente comando en el directorio del proyecto para determinar el SHA1 de su clave de depuración:
./gradlew signingReport


Utilice el SHA1 de arriba en el registro de la aplicación en firebase
Después de rellenar la información pertinente, haga clic en Registrar aplicación



  • Descarga y añade google-services.json a tu proyecto siguiendo las instrucciones proporcionadas
  • Haga clic en Siguiente después de seguir las instrucciones para conectar elcto a su proyecto.

Añadir dependencias de autenticación Firebase
Vaya a Authentication Setting en Build en el panel izquierdo
Haz clic en «Empezar».


Selecciona la pestaña Método de inicio de sesión
Active el interruptor de Google (azul)


Establezca un correo electrónico de asistencia y guárdelo.


Ir a Configuración del proyecto


Y descarga el último google-services.json que tendrá la configuración de autenticación para el inicio de sesión de google que hemos habilitado, y sustituye el archivo json antiguo por el nuevo.
Añade la dependencia de autenticación Firebase en build.gradle
implementación 'com.google.firebase:firebase-auth'
Añade la dependencia de inicio de sesión de Google en build.gradle
implementación 'com.google.android.gms:play-services-auth:19.0.0'
Crear un flujo de inicio de sesión
Para iniciar la autenticación, se utiliza un simple botón de inicio de sesión. En esta etapa, implementarás la lógica para iniciar sesión con Google y luego autenticarte con Firebase usando esa cuenta de Google.

Crear una nueva actividad de inicio de sesión con un botón para iniciar el flujo de inicio de sesión
Inicializar FirebaseAuth
mFirebaseAuth = FirebaseAuth.getInstance();

Inicializar GoogleSignInClient

 
Crear un método SignIn que podamos llamar al hacer clic en el botón SignIn.


Los resultados del inicio de sesión deben ser manejados en onActivityResult. Si el resultado del Google Sign-In fue exitoso, utilice la cuenta para autenticarse con Firebase:
Autenticar GoogleSignInAccount con firebase para obtener el usuario Firebase
Extraer datos de usuario
En la autenticación exitosa de la cuenta de google con la autenticación firebase, podemos extraer la información relevante del usuario.

Obtener Nombre de Usuario


Obtener la URL de la foto del perfil de usuario

Cerrar sesión
Hemos terminado el proceso de inicio de sesión. Si el usuario sigue conectado, nuestro siguiente objetivo es cerrar su sesión. Para ello, creamos un método llamado signOut ().


Vea la aplicación en acción


Podemos ver que el usuario también se ha creado en la pestaña «Usuarios» de Firebase Authentication.


Hurra, lo hemos hecho, ahora sabemos cómo tener una solución de autenticación sin servidor propio para obtener la identidad del usuario y servir una experiencia de usuario personalizada.

Para más detalles y una vista en profundidad, puedes encontrar el código aquí



>