По порядку Middle Аутентификация и права обновлено
Поток обновления токенов
Вопрос
Расставьте шаги, когда у SPA истёк access-токен.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Клиент повторяет исходный запрос с новым access
- 2API отвечает 401 на запрос с истёкшим access
- 3Сервер помечает старый refresh использованным и выдаёт новую пару
- 4Сервер проверяет refresh в хранилище и что он не использован
- 5Клиент отправляет refresh (httpOnly cookie) на эндпоинт обновления
Показать ответ и разбор
Коротко
Ротация на шаге 4 делает каждый refresh одноразовым. На клиенте важно, чтобы параллельные запросы с 401 не обменивали один и тот же refresh одновременно: обмен делают в одном месте, остальные ждут его результата.
Правильный порядок
- 1API отвечает 401 на запрос с истёкшим access
- 2Клиент отправляет refresh (httpOnly cookie) на эндпоинт обновления
- 3Сервер проверяет refresh в хранилище и что он не использован
- 4Сервер помечает старый refresh использованным и выдаёт новую пару
- 5Клиент повторяет исходный запрос с новым access
Разбор
Ротация на шаге 4 делает каждый refresh одноразовым. На клиенте важно, чтобы параллельные запросы с 401 не обменивали один и тот же refresh одновременно: обмен делают в одном месте, остальные ждут его результата.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.