Что такое access token и refresh token, как они работают?
Access token и refresh token — это два типа токенов, используемых для авторизации и поддержания сессии в веб-приложениях и API. Они помогают безопасно управлять доступом пользователя без постоянной передачи логина и пароля.
1️⃣ Access token
Назначение: предоставляет клиенту доступ к ресурсам сервера.
Время жизни: короткое (обычно несколько минут или часов).
Использование: передаётся в HTTP-заголовке
Authorization: Bearer <access_token>
при запросах к API.Преимущество: даже если токен украден, ущерб ограничен коротким сроком действия.
Пример запроса:
GET /users/me
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
2️⃣ Refresh token
Назначение: позволяет получить новый access token без повторной авторизации пользователя (логина).
Время жизни: долгое (несколько дней или недель).
Использование: клиент отправляет refresh token на отдельный endpoint (
/refresh
) и получает новый access token.Хранение: обычно хранится безопасно на клиенте (например, HttpOnly cookie) и не передаётся часто.
Пример:
POST /refresh
Body: { "refresh_token": "<refresh_token>" }
Response: { "access_token": "...", "expires_in": 3600 }
3️⃣ Принцип работы вместе
Пользователь логинится → сервер выдаёт access token и refresh token.
Клиент использует access token для запросов к API.
Когда access token истекает → клиент отправляет refresh token → получает новый access token.
Если refresh token истёк или отозван → требуется повторная авторизация пользователя.
4️⃣ Зачем это важно для QA
Проверять корректную работу access и refresh токенов.
Проверять истечение срока действия токенов и обработку ошибок (
401 Unauthorized
).Проверять безопасное хранение refresh token и защиту от утечек.
Last updated
Was this helpful?