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

Поток обновления токенов

Вопрос

Расставьте шаги, когда у SPA истёк access-токен.

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

Расставьте шаги по порядку стрелками.

  1. 1
    Клиент повторяет исходный запрос с новым access
  2. 2
    API отвечает 401 на запрос с истёкшим access
  3. 3
    Сервер помечает старый refresh использованным и выдаёт новую пару
  4. 4
    Сервер проверяет refresh в хранилище и что он не использован
  5. 5
    Клиент отправляет refresh (httpOnly cookie) на эндпоинт обновления
Показать ответ и разбор

Коротко

Ротация на шаге 4 делает каждый refresh одноразовым. На клиенте важно, чтобы параллельные запросы с 401 не обменивали один и тот же refresh одновременно: обмен делают в одном месте, остальные ждут его результата.

Правильный порядок

  1. 1
    API отвечает 401 на запрос с истёкшим access
  2. 2
    Клиент отправляет refresh (httpOnly cookie) на эндпоинт обновления
  3. 3
    Сервер проверяет refresh в хранилище и что он не использован
  4. 4
    Сервер помечает старый refresh использованным и выдаёт новую пару
  5. 5
    Клиент повторяет исходный запрос с новым access

Разбор

Ротация на шаге 4 делает каждый refresh одноразовым. На клиенте важно, чтобы параллельные запросы с 401 не обменивали один и тот же refresh одновременно: обмен делают в одном месте, остальные ждут его результата.

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

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

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