Eu gostaria de saber qual a melhor forma de fazer a validação de um login?
Eu estou usando como linguagem o Javascript e como pacote o jsonWebToken para criar um token ao fazer o login. Mas minha dúvida seria para que quando o usuario fechar o site e voltar, continuar logado até que o token expire, eu poderia usar express session, algo relacionado a cookies ou cache?
Uma das melhores formas de armazenar o JWT é via cookies.
Embora o localstorage pareça ser ótimo, ele não tem um recurso muito importante no gerenciamento de cookies: a validade do cookie.
Dizem também as más linguas de que o localstorage é menos exposto do que os cookies, o que torna ele menos seguro, mas não sei dizer até onde isso é verdade.
Outra dica valiosa de segurança, nunca guarde dados sigilozos do usuário nos cookies, apenas o JWT e retorne as informações via um endpoint rest.
Para a parte de "login automático", é legal deixar o cookie com validade de 30 dias, renovando esses 30 dias toda vez que ele acessa o site.