¿Por dónde empiezo con Firebase Authentication?

Ya tengo un sistema de autenticación

Usa la autenticación personalizada si tu app ya tiene una implementación de acceso y quieres usarla para autenticarte con los servicios de backend de Firebase. Se incluyen las apps que utilizan alguna de las siguientes opciones:

  • Soluciones personalizadas, como sistemas basados en contraseñas
  • Servicios de terceros para la administración de identidades, como Okta o Auth0
  • Integraciones existentes en proveedores de identidad federada, como Google, Facebook o Apple (consulta la siguiente sección si aún no ofreces compatibilidad con la identidad federada, pero quieres hacerlo)

La autenticación personalizada consiste en permitir que los usuarios accedan a sus cuentas con el sistema que elijas, crear un token de Firebase para el usuario en el backend y, luego, usar el token desde el cliente para autenticar con Firebase.

Consulta la documentación para iOS+, Android, Web, Flutter, Unity o C++.

Quiero crear mi sistema de autenticación con Firebase

Independientemente de si quieres compilar una app nueva o agregar la función de acceso a una app existente, Firebase dispone de bibliotecas y servicios que te pueden ayudar a implementar una autenticación segura sin que debas crear el backend de autenticación. Firebase Authentication es una solución de backend integral que admite el acceso con contraseñas, proveedores de identidad federada, vínculos de correo electrónico y mensajes de texto.

Quiero una solución sencilla y lista para usar

La forma más rápida y fácil de agregar autenticación a una app es utilizar FirebaseUI Auth, una biblioteca de IU lista para usar. FirebaseUI implementa flujos de usuarios completos para todos los métodos de acceso que admite Firebase Authentication.

Dado que FirebaseUI Auth es una solución lista para usar, cuenta con una UX específica que posiblemente no cumpla con tus necesidades. Para personalizar la UX, puedes bifurcar la biblioteca (que es de código abierto) y usar tu propia versión. Sin embargo, si tus flujos de acceso son muy diferentes, tal vez prefieras implementarlos con el SDK de Firebase, como se explica en la siguiente sección.

Consulta la documentación de FirebaseUI Auth para iOS, Android o la Web.

Quiero tener el control total de la experiencia de acceso

Para tener más control sobre la experiencia de acceso de tu app, puedes implementar tus flujos de autenticación y usar el SDK de Firebase para trabajar con los servicios de autenticación de Firebase. Por ejemplo, crea tu propio flujo de acceso con dirección de correo electrónico y contraseña (o Acceso con Google), y pasa a Firebase la dirección de correo electrónico y la contraseña del usuario (o el token de ID de Google) para autenticarlo.

Consulta la documentación del SDK de Firebase Authentication:

Servicios de Firebase
Acceso con dirección de correo electrónico y contraseña iOS+ | Android | Web | Flutter | Unity | C++
Acceso con número de teléfono iOS+ | Android | Web | Flutter | Unity | C++
Acceso con vínculo de correo electrónico iOS+ | Android | Web | Flutter | Unity | C++
Identidad federada
Google iOS+ | Android | Web | Flutter | Unity | C++
Facebook iOS+ | Android | Web | Flutter | Unity | C++
Apple iOS+ | Android | Web | Flutter | Unity | C++
Play Juegos Android | Unity | C++
Game Center iOS+
GitHub iOS+ | Android | Web | Flutter | Unity | C++
Microsoft iOS+ | Android | Web | Unity | C++
Twitter iOS+ | Android | Web | Flutter | Unity | C++
Yahoo iOS+ | Android | Web | Unity | C++

Quiero crear experiencias enriquecidas previas al acceso

Con la autenticación anónima, puedes permitir que los usuarios utilicen las funciones de tu app que requieren acceder a sus cuentas antes de que lo hagan realmente. Con el “acceso” anónimo creas cuentas temporales de una sola sesión que puedes usar como si fueran cuentas reales. Luego, cuando el usuario acceda o se registre, vincula la cuenta temporal a la real para que pueda reanudar la actividad desde el punto en que la interrumpió.

La autenticación anónima funciona bien con la autenticación personalizada o cualquier servicio de autenticación de Firebase.

Consulta la documentación para iOS+, Android, Web, Flutter, Unity o C++.

Quiero acceder a los servicios de Firebase desde mi backend

No necesitas usar Firebase Authentication para acceder a los servicios de Firebase desde un servidor. En cambio, usa el SDK de Admin. Cuando lo inicializas, te autenticas con las credenciales de la cuenta de servicio, que representan tu proyecto de Firebase (no a un usuario específico) y otorgan acceso completo a los recursos del proyecto.