Controla el acceso y la visibilidad de tu interfaz en Angular con total claridad. Aquí verás cómo usar AngularFireAuth, authState, ngIf y un guardia canActivate para mostrar u ocultar elementos según el estado de sesión, y cómo impedir el acceso por URL a vistas restringidas. Además, se explica el rol del JSON Web Token en local storage y el ajuste de reglas de lectura y escritura.
¿Cómo controlar la UI con ngIf y authState?
Para decidir qué ve un usuario según si está logueado, se aprovecha authState de AngularFireAuth. Este stream existe solo cuando hay sesión activa y expone un identificador único (UID).
Idea clave: authState indica si hay usuario autenticado.
Variable de estado: loggedIn = false para controlar la vista.
Visibilidad condicional: usar ngIf para mostrar u ocultar login y registro.
¿Qué hace la función isLogged?
Función pública: isLogged devuelve el stream de autenticación.
Origen de datos: usa el objeto de autorización y su authState.
Inicio temprano: se invoca desde el constructor para escuchar desde que abre la app.
Prueba final: sin sesión, no permite navegar ni con la URL directa; con sesión, el acceso se concede normalmente.
Palabras clave y habilidades trabajadas: JSON Web Token en local storage, authState y stream de autenticación, control visual con ngIf, manejo de errores en subscribe, reglas de lectura y escritura en base de datos, uso de guardia canActivate, configuración en providers y rutas, y navegación protegida por URL y path.
¿Te gustaría que profundicemos en el flujo de logout o en estrategias de redirección tras el login? Comparte tus dudas y casos de uso en los comentarios.