токен сохраняется даже после закрытия вкладки браузера

#javascript #reactjs

#javascript #reactjs

Вопрос:

Токен входа в систему архивируется с использованием локального хранилища в react. Я хочу сохранить токен без изменений, даже если я удалю вкладку браузера и удалю информацию для входа, удалив токен при удалении самого браузера. Хранилище сеанса не может быть использовано, поскольку информация исчезает при удалении вкладки Кто-нибудь знает, как это сделать?

Ответ №1:

Вместо этого используйте localStorage. API тот же. И он сохраняется даже после закрытия вкладки.

Вы можете прочитать документы здесь => https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

Комментарии:

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

2. Как я могу удалить свои данные локального хранилища, когда мой браузер закрыт?

3. Мой плохой. Я неправильно понял вопрос. Вы не удаляете токен при закрытии браузера. Обычно всякий раз, когда вы сохраняете токен в веб-браузере, вы должны хранить с датой истечения срока действия. Всякий раз, когда пользователь закрывает вкладку, токен остается в браузере, но в следующий раз, когда пользователь заходит на ваш сайт, вы можете проверить срок действия токена и добавить его соответствующим образом. Либо удалите сам токен, либо повторно проверьте токен, отправив его на сервер. Обычно в приложениях, которые мы создаем, у нас есть токен с датой истечения срока действия, когда токен истекает, мы выходим из системы пользователя.

4. В настоящее время я использую хранилище сеансов, получаю и сохраняю файлы cookie. Фактически, когда cookie проверяется и истекает через 15 минут, он отправляется на экран входа в систему, а токен обновления сохраняется обратно в хранилище сеанса. Сеансовое хранилище удаляет данные при удалении браузера, но локальное хранилище не удаляется, если оно не удаляется напрямую. Если вы используете localStorage для закрытия браузера во время входа в систему, данные локального хранилища сохраняются. Есть ли какие-либо проблемы с безопасностью? Мой босс хочет использовать хранилище сеансов, потому что данные в локальном хранилище остаются в браузере.

5. На самом деле не так много. Просто убедитесь, что токен с истекшим сроком действия не работает на сервере. Если кто-то может взломать ваше приложение, получив токен из localStorage, он вполне может взломать его и из файлов cookie. Ничего особенного в плане безопасности.