Cookie или lockalStorage

Небольшое предисловие.

Если фронтенд и бэкенд приложения. Бэкенд приложение написано на django с использованием rest framework. Для аутенфикации и авторизации используются токены. Собственно при login клиент запрашивает токен, получает его в теле ответа в json формате. Данный токен я ставлю в заголовок для запросов на бэк и записываю в localStorage, дабы пользователь после закрытия браузера и повторного входа на страницу не вводил пароль. Собственно начитался статей, какой lockalStorage ненадежный в плане XSS атак, и что лучше бы использовать cookie.

Дальше непосредственно вопрос.

Переписывать бэк чтобы токен подставлялся в cookie у меня нет никакого желания, да и используются там сторонние библиотеки, так что хотелось бы писать что либо самому. Появилась мысль подставлять cookie через js на клиенте, так же как с localStorage, но опять же теперь есть опасения что токен будет уязвим так же к XSS как и с localStorage. Вот я и думаю, стоит ли морочиться и пытаться подставить токен в куки на фронте, или оставить в localStorage. Или взять себя в руки и переписать бэк, чтобы он токен подставлял в http заголовок? Если у вас есть какие то мысли по данному поводу, или статьи, с радостью прочитаю и пообщаюсь на данную тему :)


Ответы (1 шт):

Автор решения: Andrey RF

Достаточно исчерпывающий ответ на мой взгляд был дан на этот же вопрос на английской версии stakoverflow. Краткая суть в том что localStorage и cookie одинаково уязвимы вредоносными программами и расширениями на стороне клиента. Выбирать нужно исходя из логики, если нужно токен часто слать на бэк, то лучше использовать куки, если нет, то тогда стоит хранить в localStorage. Оригинальный ответ

→ Ссылка