Com o propósito de proteger a API REST usando JWT, de acordo com alguns materiais (como este guia e esta pergunta ), o JWT pode ser armazenado em localStorage ou Cookies . Com base no meu entendimento:
- localStorage está sujeito a XSS e geralmente não é recomendado armazenar nenhuma informação sensível nele.
- Com os Cookies , podemos aplicar o sinalizador "httpOnly" que atenua o risco de XSS. No entanto, se quisermos ler o JWT de Cookies no backend, estaremos sujeitos ao CSRF.
Portanto, com base na premissa acima, será melhor armazenarmos JWT em Cookies. Em cada solicitação ao servidor, o JWT será lido dos cookies e adicionado no cabeçalho de autorização usando o esquema do portador. O servidor pode então verificar o JWT no cabeçalho da solicitação (em vez de lê-lo dos cookies).
Meu entendimento está correto? Em caso afirmativo, a abordagem acima tem alguma preocupação com a segurança? Ou, na verdade, podemos simplesmente usar o localStorage em primeiro lugar?