Eu tenho a seguinte logica de autenticação
 initAuthListener() {
    this.afAuth.authState.subscribe(user => {
        if (user) {
            this.store.dispatch(new Auth.SetAuthenticated());
            this.router.navigate(['/training']);
        } else {
            this.trainingServices.cancelSubscriptions();
                this.store.dispatch(new Auth.SetUnauthenticated());
                this.router.navigate(['/login']);
        }
    });
}Como o app.component estava
 ngOnInit(): void {
this.authService.initAuthListener();
                 }Toda primeira chamada na pagina ia para /login, então eu passei a verificação para o training.component, que é onde precisa ter autorização(até agora somente ele).
É uma pratica ruim? Qual seria alternativa?
edit
Eu modifiquei da seguinte maneira, aparentemente está ok:
 initAuthListener() {
        this.afAuth.authState.subscribe(user => {
            if (user) {
                this.store.dispatch(new Auth.SetAuthenticated());
                this.router.navigate(['/training']);
            } else {
                 if((this.ROTAS_LIBERADAS.includes(this.router.url))){
                        this.trainingServices.cancelSubscriptions();
                        this.store.dispatch(new Auth.SetUnauthenticated());
                    }else{
                        this.trainingServices.cancelSubscriptions();
                        this.store.dispatch(new Auth.SetUnauthenticated());
                        this.router.navigate(['/login']);
                    }
            }
        });
    } 
            