Подтвердить что ты не робот

Могу ли я использовать локальное хранилище html5 для хранения информации о сеансе аутентификации пользователя

БЫСТРЫЙ ПРЕДПОСЫЛКИ:

Я пишу программу Mongo/Express/ Angular/Node и используя паспорт, у меня есть параметры входа в OAuth для обработки аутентификации пользователя/авторизации.

С паспортом я успешно поддерживаю сеанс на сервере, поэтому все мои запросы XHR (которые в этом нуждаются) проверяют зарегистрированного пользователя.

В журнале на сервере помещается основная информация о сеансе пользователя в файл cookie, который клиент может найти в обратном вызове авторизации, затем я использую angular -cookies '$ CookieStore для доступа к этому файлу cookie на клиенте, сохраняя его на корнеплоды и очистить печенье.

ПРОБЛЕМА:

Это отлично работает, за исключением любого события, когда пользователь обновляет браузер, что заставляет мою сессию kernelcope явно протираться.

Итак, я рассматривал возможность хранения информации о сеансе в локальном хранилище браузера (используя store.js), а затем даже при начальной загрузке я мог проверить сеанс, существующий в локальном хранилище браузера, и обойти логин OAuth, если уже был сеанс,

Является ли это плохой практикой или существуют некоторые проблемы с логистикой/безопасностью при сохранении информации о сеансе пользователя в локальном хранилище браузера?

В этом приложении нет данных senstive, регистрация бесплатна, и вход в систему действительно существует, поэтому я могу отслеживать пользователей и хранить данные, созданные в приложении для каждого пользователя. И пользовательский сеанс никогда не будет иметь пароль (я разрешу только для входа в OAuth локальный вариант).

4b9b3361

Ответ 1

Вместо localStorage просмотрите объект sessionStorage: http://www.w3schools.com/html/html5_webstorage.asp

Он работает точно так же, как localStorage, но весь объект sessionStorage будет удален, когда окно браузера будет закрыто, но сохранится при обновлении любой страницы. Это идеальное место для хранения идентификаторов сеанса и т.д.

Но следует помнить, что sessionStorage изолирован на вкладке браузера - это означает, что если ваш пользователь хочет открыть ссылку на новой вкладке, sessionStorage для этого будет инициализирован пустым.