Задать вопрос
MiiZZo
@MiiZZo
JavaScript, React, NodeJS, Student

Как защититься от того, что злоумышленник украдет refresh token?

Refresh token храниться в http only cookie. Видел рекомендацию о хранении refresh token в бд и сравнивать его на эквивалентность с токеном, который храниться в cookie, но в таком случае что делать, если пользователь, будучи авторизованный на одном устройстве, залогиниться на другом?
  • Вопрос задан
  • 387 просмотров
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Привязка refresh-токена к:
1. fingerprint (device id; +привязка к refresh-токену)
2. IP/Subnet (+привязка к refresh-токену)
3. Контроль поведенческого фактора

что делать, если пользователь, будучи авторизованный на одном устройстве, залогиниться на другом?
я уже отвечал тут и повторю:
Account->Device->Token и никак иначе!

И, как верно заметил Pardon Me! Where Do I Find 4giveness?, refresh token должен меняться несколько раз за пользовательскую сессию (активность) в полностью "прозрачном" (для пользователя) режиме.
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Смысл рефреш-токена в том, что если его украдут - то пользователь автоматом разлогинится при следующем рефреше и заметит этот факт. То есть, навредить злоумышленник может, но тайно вредить и оставаться незамеченным - нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы