O JWT deve ser armazenado no localStorage ou no cookie?

Com o objetivo de proteger a API REST usando JWT, de acordo com alguns materiais (como esteguia e istoPergunta, questão), o JWT pode ser armazenado emlocalStorage ouBiscoitos. Com base no meu entendimento:

localStorage está sujeito ao XSS e geralmente não é recomendável armazenar nenhuma informação sensível nele.ComBiscoitos podemos aplicar a sinalização "httpOnly", que reduz o risco de XSS. No entanto, se quisermos ler o JWT de Cookies no back-end, estaremos sujeitos a CSRF.

Portanto, com base na premissa acima - será melhor armazenarmos o JWT nos cookies. Em cada solicitação ao servidor, o JWT será lido dos Cookies e adicionado no cabeçalho da Autorização usando o esquema Portador. O servidor pode verificar o JWT no cabeçalho da solicitação (em vez de lê-lo nos cookies).

Meu entendimento está correto? Em caso afirmativo, a abordagem acima tem algum problema de segurança? Ou, na verdade, podemos simplesmente usar o localStorage em primeiro lugar?

questionAnswers(2)

yourAnswerToTheQuestion