Что такое Access Token?
DOM и браузер
Access Token — это короткоживущий токен, который клиент прикладывает к запросам для доступа к защищённым ресурсам API. Он подтверждает права на выполнение операции.
Назначение
После логина сервер выдаёт access token; клиент шлёт его с каждым запросом:
Authorization: Bearer <access_token>Сервер проверяет токен (обычно JWT — по подписи, без запроса в БД) и разрешает доступ.
Свойства
- Короткий срок жизни (минуты), чтобы при краже он быстро стал бесполезным.
- Самодостаточный (если JWT) — содержит claims:
sub,role,exp; сервер не хранит сессию (stateless). - Передаётся с каждым запросом к API.
Access token против refresh token
- Access — короткий, для доступа к API, шлётся постоянно.
- Refresh — длинный, только для получения нового access при истечении, хранится защищённо (HttpOnly cookie).
Хранение
- Часто в памяти (нужен в JS для заголовка).
- Не в localStorage надолго (XSS).
Ограничение
Stateless access token сложно отозвать до истечения, поэтому его делают коротким и дополняют refresh-токеном.
Коротко для собеседования
Access token — короткоживущий токен (обычно JWT), который клиент шлёт в Authorization: Bearer для доступа к API; сервер проверяет его без хранения сессии. Короткий срок — для безопасности; обновляется по refresh-токену. Хранят в памяти, не в localStorage.