1
resposta

Dúvida sobre o authGuard

Boa noite!

Percebi que no authGuard não valida se o token é válido ou não, verifica apenas se o usuário possui ou não um token no localStorage para decidir se libera acesso a rota protegida ou não. Mas dessa forma, se o usuário inserir manualmente um token qualquer no localStorage, o mesmo não terá acesso a rota protegida? Essa é a forma mais recomendada para uso em produção?

1 resposta

Olá, Luan, tudo bem?

Na implementação apresentada em aula, o authGuard verifica apenas se o usuário está logado, verificando se existe um token no localStorage. De fato, se o usuário inserir manualmente um token inválido no localStorage, ele terá acesso à rota protegida.

Em um ambiente de produção, é recomendado adicionar uma camada extra de segurança, verificando não apenas a presença, mas também a validade do token. Isso pode ser feito no lado do servidor, onde o token é decodificado e verificado. Se o token for inválido ou expirado, o servidor pode retornar um erro, que sua aplicação Angular pode tratar para remover o token inválido e redirecionar o usuário para a página de login.

Uma forma mais segura de implementar a guarda de rotas é utilizar um token JWT (JSON Web Token) e validar sua autenticidade no servidor, verificando a assinatura e a validade do token. Dessa forma, mesmo que o usuário insira manualmente um token inválido no localStorage, ele não terá acesso à rota protegida, pois o servidor irá rejeitar o token inválido.

Deixo um artigo onde aborda um pouco mais sobre o JSON Web Tokens

Espero ter ajudado.

Abraços e bons estudos!