Где я могу хранить токен JWT в React js для проверки подлинности различных маршрутов во внутренней части приложения? - PullRequest
0 голосов
/ 22 апреля 2020

Я использую токен JWT для аутентификации и авторизации. После входа в систему я хочу сохранить значение токена во внешнем интерфейсе (React js), чтобы мы могли отправить токен на сервер для проверки различных маршрутов в node js в соответствии с различными вызовами API из разных компонентов в React js. Я создаю приложение в React js. Я не хочу хранить его в локальном хранилище или в Cook ie из-за соображений безопасности. Скажите мне лучший способ хранения.

1 Ответ

0 голосов
/ 22 апреля 2020

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

Рекомендуется использовать httpOnly cook ie, этот Cook ie не может быть доступ из javascript, и вам не нужно беспокоиться об отправке токена в каждом запросе. Этот повар ie является текущей «безопасной» опцией для поддержания сеанса в веб-приложении.

В другом стороны, вы все еще можете использовать JWT в localStorage, но да, в случае кражи XSS, которую можно украсть, но давайте поговорим о безопасности, если кто-то может внедрить код JS, он все равно может делать все с этим сеансом, Единственное отличие в случае httpOnly cook ie состоит в том, что он не может сохранить учетные данные для последующего использования или использовать их с другого компьютера (конечно, это усложняет хакеру все, но вы все равно можете делать все).

JWT необходим в том случае, если вы используете федеративную аутентификацию, и даже если кража JWT вызвана тем, что третья сторона уже имеет доступ к JS среде выполнения, , поэтому важно не «украсть токен», не разрешить запуск внешнего кода в вашем приложении.

...