Access и refresh токены: как устроена авторизация в клиенте?
Суть
Access token живёт минуты–час и уходит с каждым запросом в Authorization: Bearer. Refresh token живёт дни–месяцы и используется в одном-единственном запросе — обмене на новую пару у auth-сервера. Разделение ограничивает ущерб от утечки: перехваченный access скоро протухнет, а refresh никогда не летает на API-серверы и в логи.
Задача клиента — всегда прикладывать валидный access, обновлять его ровно один раз при любой конкурентности и корректно разлогинивать, когда обновить нельзя.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep