Как система обрабатывает истечение срока действия access token
Краткий ответ
После истечения срока действия access token клиент теряет доступ к защищённым API. Для возобновления сессии обычно используется refresh token, который позволяет получить новый access token без повторного входа.
Развёрнуто
Краткий ответ
Когда access token становится недействительным из-за истечения времени жизни, клиентское приложение не может обращаться к защищённым ресурсам до пол��чения нового токена. Для этого применяется refresh token, который запрашивает новый access token без необходимости повторной аутентификации.
Как это работает
Access token — это краткосрочный токен, подтверждающий права пользователя на доступ к API. Он имеет ограниченный срок действия для повышения безопасности. После его истечения сервер отказывает в доступе к защищённым ресурсам.
Refresh token — долгоживущий токен, который используется для получения нового access token без запроса повторного ввода учётных данных. Клиент отправляет refresh token на специальную конечную точку API, где, если токен действителен, ему возвращается новый access token.
| Токен | Срок жизни | Назначение |
|---|---|---|
| Access token | Краткосрочный (минуты-часа) | Доступ к API |
| Refresh token | Долгосрочный (дни-месяцы) | Получение нового access token |
Если refresh token отсутствует или просрочен, необходимо повторно пройти процесс аутентификации.
Пример
POST /auth/token/refresh HTTP/1.1
Content-Type: application/json
{
"refresh_token": "eyJhbGciOiJIUzI1..."
}
В ответе сервер вернёт новый access token, который клиент будет использовать для дальнейших запросов к API.
Что важно знать на собеседовании
- Access token имеет ограниченный срок действия для минимизации рисков компрометации.
- Refresh token позволяет продлить сессию без повторного ввода логина и пароля.
- Отсутствие или истечение refresh token требует повторной аутентификации пользователя.
- Обработка истечения access token должна быть корректно реализована на стороне клиента для бесшовного UX.
- Безопасное хранение refresh token критично, так как он обеспечивает длительный доступ.
Тема: Безопасность и авторизация | Уровень: middle