У меня есть общий вопрос относительно JSON Web Token (JWT).JSON Web Token (JWT)
Если JWT украден у клиента (например, он был сохранен как файл cookie или база данных приложения) путем взлома или физического доступа, его можно использовать для отправки на сервер, который сервер будет считать его законным пользователь. Это верно?
Есть ли обычная или стандартная практика для защиты от этого, например, путем отправки типа устройства/браузера или какого-либо ссылочного кода вместе с клиентом, и сервер проверяет его соответствие дополнительным данным, токен JWT был сгенерирован и сохранен с. (Тем не менее, я читал, что стандартная практика не хранить ничего на сервере.)
Просьба сообщить, что мне нужно реализовать Java JWT (JJWT), RESTful Java Jersey и Google Web Toolkit. (Я читал документацию, такую как: [https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage]).
Спасибо!
Лучший ответ, чем мой :-) – mxlse
Вы также можете добавить некоторые отпечатки пальца браузера (например, User-Agent и Accept- * headers). Также используйте 2 куки-файлы, один из которых является куки-файлом SameSite и необходим для всех чувствительных операций (csrf все равно может украсть данные, но не манипулировать ими) –
, так что токен, сгенерированный сервером, подписывается на цифровой основе сервером и передается клиенту, так что, когда маркер возвращается к серверу, сервер распознает его, что это был токен, который он сгенерировал. Однако сервер не может быть на 100% уверен, что он является одним и тем же клиентом. Сервер только на 100% уверен, что он сгенерировал токен. Так, как упоминалось в других комментариях, существует потребность на стороне клиента (клиентский IP-адрес, отпечатки пальцев браузера и т. Д.), Чтобы гарантировать, что он является одним и тем же клиентом, но затем он ломается в определенных случаях использования, таких как прокси или мобильные телефоны. Правильно ли я понимаю? – ifelsemonkey