Токен в контексте аутентификации и авторизации — это непрозрачная строка данных, выданная сервером после успешной аутентификации пользователя (или клиента). Он представляет собой учетные данные пользователя или клиента для дальнейшего доступа к защищенным ресурсам без необходимости повторно вводить логин и пароль.
Типы токенов:
- Bearer Token: Самый распространенный тип, передается в заголовке
Authorization как Bearer <токен>. Получатель токена (сервер) должен предоставить доступ тому, кто "несет" (bearer) токен, без дополнительной проверки подлинности.
- JWT (JSON Web Token): Структурированный, самодостаточный токен, содержащий информацию о пользователе или сессии в закодированном виде. Состоит из трех частей, разделенных точками: заголовок (header), полезная нагрузка (payload) и цифровая подпись (signature). Может быть подписан (JWS) или зашифрован (JWE).
Наши тестовые сценарии для работы с токенами включают:
- Получение токена: Проверка корректности запроса аутентификации и успешного получения токена.
- Использование токена: Проверка доступа к защищенным ресурсам с действительным токеном.
- Недействительный/истекший токен: Проверка отказа в доступе при использовании некорректного, поддельного или истекшего токена.
- Отсутствие токена: Проверка отказа в доступе при попытке доступа без токена.
- Обновление токена (Refresh Token): Если используется, проверка механизма получения нового Access Token с помощью Refresh Token.
- Отзыв токена (Revocation): Проверка успешного отзыва токена и последующего отказа в доступе.
При автоматизации используем:
- Библиотеки HTTP-клиентов (например,
requests в Python, Axios в JavaScript) для отправки запросов с токенами.
- Парсинг ответа для извлечения токена.
- Сохранение токена в переменной для последующего использования.
python
В целом, токен обеспечивает безопасный и безстатусный способ управления доступом, снижая нагрузку на сервер аутентификации при каждом запросе к защищенным ресурсам.