-
Tenho várias API Rest, onde utilizo basic http, para evitar acesso direto.
-
Front-end em AngularJS, desacoplado de todas API Rest. Onde este front acessa todas as APIs, enviando nos headers a autenticação (basic http). Esta funcionando tudo corretamente.
-
Estou desenvolvendo outra API Rest, que terá a responsabilidade de autenticar os usuários da empresa e gerar tokens. Estou utilizando (io.jsonwebtoken), consigo gerar os tokens, com as permissões necessárias de cada usuário.
-
No front-end, estou utilizando o (angular-jwt), fiz testes realizando login, armazenando o token no Local Storage, recuperando este token e pegando as informações do usuário que realizou o login, no logout consigo remover o token e funcionou corretamente.
A estratégia que pensei em adotar é a seguinte:
-
Quando o usuário realizar o login com sucesso, vou gerar o token, armazenar no Local Storage e utilizando o (jwtHelper.decodeToken) do angular-jwt vou armazenar as informações deste usuário ($rootScope.usuarioAutenticado) por exemplo.
-
Sempre que acontecer uma mudança de rota, eu utilizo o ($rootScope.$on(’$routeChangeStart’), e verifico se existe um token e se este token não expirou (jwtHelper.isTokenExpired).
É a melhor estratégia a ser adotada? Ou talvez tenha uma melhor prática para esta situação?
Pensei dessa forma, pois não vou precisar enviar o token nas requisições (headers) das outras APIs Rest.