La lógica de los Guards suelen necesitar de los datos de un usuario para determinar si tiene acceso o no a una ruta. Veamos como es posible obtener los datos del usuario utilizando Observables y RxJS.
Qué es el estado de la aplicación
Se lo conoce como "estado" al valor de los datos que la aplicación utiliza en un momento dado. A medida que el usuario interactúa con la app, el estado cambia.
Una buena manera de conocer el estado del usuario en todo momento es creando un Observable que notifique a los interesados si hay algún cambio en los datos del mismo.
1. Observable para el estado del usuario
En el servicio de autentificación, crea el Observable que contendrá los datos del usuario para que los interesados puedan suscribirse y escuchar los cambios.
De esta manera, los Guards se convierten en asíncronos, que suele ser lo más apropiado para validar tokens y permisos de los usuarios para el ingreso o no a una ruta.