Boa noite!
Primeiramente gostaria de dizer que esse curso está muito bom, parabéns ao instrutor!
Tenho algumas perguntas em relação a estrutura de autenticação e ao JWT token, segue abaixo:
01 - Autenticação de todas as rotas:
Seguindo a estrutura de validação que o professor utilizou nos vídeos, cada vez que uma classe precisa verificar se o usuário está logado, ela precisa ter injetado o serviço do usuário e chamar o método que 'assina' o subject, a fim de obter os dados que o serviço disponibiliza, recebendo também alterações quando propagadas pelo serviço.
Dúvida: E se eu precisar validar todos as rotas da minha aplicação, evitando por exemplo que um cliente não logado acesse diretamente a rota '/animais'?
02 - Validação do token que está no localStorage:
Toda vez que o usuário realiza um acesso bem sucedido a api retorna no header do response o 'x-access-token', por sua vez esse token é armazenado através do tokenService no localStorage do navegador.
Pelo corpo do token, é possível identificar que ele tem um tempo de expiração e pesquisando, sei que a lib do JWT tem uma função para verificar a validade do token.
Dúvida: Caso o token do meu usuário que estava lá guardado no localStorage expire, de que forma eu definiria o retorno para a tela de login, considerando que não sei exatamente em que tela o usuário está no momento da checagem do token expirado?