Выбор ответа Middle Аутентификация и права обновлено

Ротация refresh-токенов

Вопрос

Зачем при каждом обмене refresh-токена выдавать новый refresh и инвалидировать старый?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Украденный refresh быстро бесполезен, а повтор старого выдаёт кражу. Если злоумышленник и пользователь оба попытаются обменять один и тот же refresh, второй обмен увидит уже использованный токен.

Варианты ответа

  1. Чтобы уменьшить размер токена: новый refresh содержит меньше claims
  2. Украденный refresh быстро бесполезен, а повтор старого выдаёт кражуправильный ответ
  3. Чтобы токен работал без HTTPS: каждый новый токен нельзя переиспользовать
  4. Ротация нужна для access-токенов, а refresh меняют только при смене пароля

Разбор

Если злоумышленник и пользователь оба попытаются обменять один и тот же refresh, второй обмен увидит уже использованный токен. Сервер может трактовать это как кражу и отозвать всю цепочку сессии. Без ротации украденный refresh даёт доступ на недели. Размер и HTTPS тут ни при чём, а access-токены не обмениваются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме