- 1

Integración de Angular con Firebase para apps web completas
01:11 - 2

Firebase: plataforma de Google para desarrollo con IA integrada
08:49 - 3

Planes y precios de Firebase: cuándo usar Spark o Blaze
02:49 - 4

Instalación de entorno para Firebase y Angular en Windows
06:36 - 5

Configuración inicial de Angular 20 para proyectos con Firebase
03:56 - 6

Estructura básica de Angular 20 y preparación del proyecto
04:55 - 7

Configuración de Firebase en Angular 20 con autenticación y Firestore
07:05 quiz de Configuración Inicial y Estructura del Proyecto
Protección de rutas con Auth Guard en Angular
Clase 19 de 21 • Curso de Firebase con Angular 20
Contenido del curso
- 11

Componente Auth con Google y Firebase en Angular 20
08:49 - 12

Construcción del componente chat en Angular con Firestore
11:51 - 13

Modelos tipados para chat y usuario en TypeScript
04:40 - 14

Configuración de providers en Angular para Firebase y APIs
05:17 - 15

Autenticación con Google en Firebase para Angular
11:16 - 16

Coordinación del chat service con Firestore y Gemini usando mocks
09:25 - 17

Integración de Firestore en Angular para guardar mensajes de chat
13:48 - 18

Integración de la API de Gemini en Angular con service completo
14:02 - 19

Protección de rutas con Auth Guard en Angular
02:31 quiz de Implementación de Autenticación y Chat
La vulnerabilidad de la URL del chat queda cerrada al activar un flujo de autorización con Auth Guard y canActivate, vinculado a Firebase. Con un ajuste preciso en App Routes, solo usuarios autenticados acceden; los no autorizados son redirigidos a auth de forma inmediata. Así, el chat deja de estar expuesto y se prepara el terreno para hostear en la nube con confianza.
¿Cómo asegurar la URL del chat con Auth Guard?
El guard se implementa en la carpeta Source/App/Guards y utiliza canActivate para permitir o bloquear el acceso al chat según la autenticación en Firebase. La lógica devuelve un Observable de tipo boolean que, además, registra mensajes con console.log y navega a la ruta auth si no hay sesión activa.
- Ubicar el guard en Source/App/Guards.
- Usar canActivate que retorna un Observable
. - Verificar sesión con un servicio ligado a Firebase.
- Registrar eventos con console.log.
- Navegar a auth y devolver false si no hay autenticación.
¿Qué lógica implementa el guard?
- Si está autenticado: usuario permitido y retorna true.
- Si no está autenticado: delegado, navega a auth y retorna false.
// guards/guard.ts
@Injectable({ providedIn: 'root' })
export class AuthGuard implements CanActivate {
constructor(private auth: AuthService, private router: Router) {}
canActivate(): Observable<boolean> {
return this.auth.isAuthenticated$.pipe(
map(isAuth => {
if (isAuth) {
console.log('usuario permitido');
return true;
}
console.log('delegado');
this.router.navigate(['auth']);
return false;
})
);
}
}
¿Qué cambios hacer en App Routes para proteger chat?
En App Routes se definen las rutas base y la protección del chat. El camino vacío redirige a auth; existe una ruta auth y una chat; cualquier ruta desconocida también redirige a auth. El único segmento protegido es chat, al que se le agrega canActivate con el guard implementado.
- Rutas: vacío → auth.
- Rutas: auth y chat definidas.
- Rutas: wildcard redirige a auth.
- Protección: chat con canActivate y el guard propio.
- Importar el guard correcto desde guards/guard, evitando otros.
¿Cómo se anota canActivate en la ruta chat?
- Añadir canActivate con el arreglo que incluye el guard.
- Confirmar que el import corresponde a guards/guard.
// app.routes.ts
export const routes: Routes = [
{ path: '', redirectTo: 'auth', pathMatch: 'full' },
{ path: 'auth', /* ... */ },
{ path: 'chat', /* ... */, canActivate: [AuthGuard] },
{ path: '**', redirectTo: 'auth' }
];
¿Cómo validarlo en localhost y qué sigue en la nube?
La verificación es directa en localhost: cerrar sesión, intentar entrar al chat por URL y observar la redirección automática a auth. Con la protección activa, el acceso al chat queda restringido a usuarios autenticados y el siguiente paso es hostear la aplicación en la nube con la seguridad ya aplicada.
- Abrir en localhost y cerrar sesión.
- Intentar ingresar al chat por URL directa.
- Confirmar la redirección a auth.
- Continuar con el despliegue en la nube.
¿Te quedó alguna duda sobre la integración del Auth Guard o la configuración de App Routes? Deja tu pregunta y comparte cómo te fue con Copilot al sugerir canActivate.