Cómo integrar Facebook login con Firebase
Clase 64 de 80 • Curso de Angular 4
Contenido del curso
Introducción a Angular 4
Setup del Ambiente de Trabajo
Conceptos Básicos
- 9

Para qué nos sirven los Módulos y Componentes
08:10 min - 10

Tipos de Data Binding y String Interpolation
05:05 min - 11

Property Binding
06:04 min - 12

Event Binding
03:04 min - 13

ngModel y two way binding en Angular
05:12 min - 14

Directivas en Angular 4 y ngFor
07:39 min - 15

Cómo usar ngIf en Angular 4.0
03:04 min - 16

Instalando librerías con NPM (Google Maps)
06:48 min
Directivas
Angular UI
Ruteo
- 24

Qué hace el router en Angular 4
03:11 min - 25

Implementación de Rutas en el Proyecto
07:36 min - 26

Href vs router link: navegación angular
02:27 min - 27

Resaltando el link activo con CSS para indicar visualmente en que componente nos encontramos
01:53 min - 28

Parámetros de ruta con routerLink en Angular
06:01 min - 29

Parámetros tipo Query
03:53 min - 30

Creando una vista de detalle para el proyecto
09:06 min - 31

Página de contacto Angular desde cero
07:45 min
Servicios
- 32

Servicios en Angular para compartir datos
00:58 min - 33

Creando nuestro propio servicio
07:11 min - 34

Configurando Firebase en nuestro proyecto
05:12 min - 35

Guardando Records en Firebase
12:20 min - 36

Obteniendo records desde Firebase
08:40 min - 37

Obteniendo coordenadas usando Geocoding
13:45 min - 38

Reto: Crear una vista para editar records
09:29 min - 39

Mostrando marcadores en el Mapa de Google
03:02 min
Conexión Remota (Http y Sockets)
Pipes
Animaciones en Angular
Testing en Angular
Autenticación y Protección de Rutas
- 59

Cómo funcionan los JSON Web Tokens
03:05 min - 60

Preparación de vistas para login y registro
11:58 min - 61

Registrando usuarios
07:29 min - 62

Loggeando usuarios
07:18 min - 63

Guardias canActivate en Angular: Proteger rutas con autenticación
11:09 min - 64

Cómo integrar Facebook login con Firebase
Viendo ahora - 65

Logout en Angular con Firebase
05:28 min
RxJS
- 66

Cómo funciona RxJS con metáfora de oficina
02:09 min - 67

Mostrar email del usuario logueado en Angular
06:32 min - 68

Uso de los Observables
04:30 min - 69

Cómo implementar type ahead con Observables y RxJS
10:43 min - 70

Implementar formularios reactivos con type ahead
07:58 min - 71

Cómo rellenar campos automáticamente con Google
01:28 min
Publicando nuestro proyecto
Fin del curso
Sesiones en vivo
Contenido Bonus
Añade login con Facebook a tu app Angular usando Firebase de forma segura y rápida. Aquí verás cómo implementar signInWithPopup con FacebookAuthProvider, habilitar el provider en Firebase y configurar App ID y App Secret en Facebook Developers, con manejo de errores y verificación del usuario.
¿Cómo integrar login con Facebook en Firebase y Angular?
Implementa el flujo en tu servicio de autenticación y conéctalo al componente de login. La clave es usar AngularFireAuth con signInWithPopup y el FacebookAuthProvider.
¿Qué código va en el servicio de autenticación?
- Importar la librería completa de Firebase y su auth.
- Crear el método público
facebookLogin. - Usar
signInWithPopupconnew firebase.auth.FacebookAuthProvider(). - Manejar then y catch para éxito y error.
// autorización.service.ts
import * as firebase from 'firebase/app';
import 'firebase/auth';
export class AutorizacionService {
constructor(private angularFireAuth: AngularFireAuth) {}
public facebookLogin() {
return this.angularFireAuth.auth
.signInWithPopup(new firebase.auth.FacebookAuthProvider())
.then(result => {
alert('Usuario logueado con Facebook');
console.log(result); // Explora datos útiles del usuario.
// TODO: redirigir al usuario cuando el login sea correcto.
})
.catch(error => {
console.log(error); // Manejo de errores.
});
}
}
¿Cómo lo llamo desde el componente y la vista?
- Crear un método
facebookLoginen el componente que invoque al servicio. - Añadir un botón alternativo en la pantalla de login.
// login.component.ts
export class LoginComponent {
constructor(private autorizacionService: AutorizacionService) {}
facebookLogin() {
this.autorizacionService.facebookLogin();
}
}
<!-- login.component.html -->
<button class="btn btn-warning btn-block" (click)="facebookLogin()">
Login con Facebook
</button>
¿Qué configuración en Firebase y Facebook es obligatoria?
Sin habilitar el provider, verás el error "The given sign in provider is disabled". Activa Facebook en Firebase y configura la app en Facebook Developers.
¿Cómo habilitar Facebook en Firebase Authentication?
- Ir a Authentication > Sign-in method.
- Habilitar Facebook y pulsar Enable.
- Pegar el App ID y App Secret.
- Guardar cambios.
¿Cómo crear la app y obtener App ID y App Secret en Facebook?
- Entrar a developers de Facebook y crear una nueva app.
- Añadir el producto Facebook Login y elegir Web.
- Definir un Site URL temporal si hace falta.
- Ir a Facebook Login > Valid OAuth Redirect URLs.
- Pegar la URL que muestra Firebase para completar el setup.
- Guardar y copiar App ID y App Secret.
- Volver a Firebase y pegarlos en Facebook, luego Save.
¿Qué buenas prácticas y debugging se aplican?
Al finalizar, el login abrirá una ventana de popup y autenticará al usuario con Facebook. Considera estos puntos para un flujo sólido.
¿Cómo manejar estados y errores del flujo?
- Usar .then para éxito: alerta, registro con console.log, y redirección del usuario.
- Usar .catch para errores: imprimir el error en console.log.
- Estar listo para casos raros donde se llama then y catch.
¿Cómo verificar el usuario autenticado?
- Revisar en Application > local storage que exista el usuario autorizado.
- Comprobar en la sección de usuarios que aparezca el usuario de Facebook y el de email como registros distintos.
Ideas clave del flujo:
- AngularFireAuth con signInWithPopup y FacebookAuthProvider.
- Authentication > Sign-in method en Firebase.
- App ID y App Secret desde Facebook Developers.
- Valid OAuth Redirect URLs configurado correctamente.
- Redirección tras el login exitoso.
¿Tienes dudas sobre algún paso o quieres replicarlo con Google, Twitter o GitHub usando el mismo patrón? Cuéntame en comentarios qué provider quieres integrar y en qué parte necesitas ayuda.