Junior
56
questionbank

Что такое токен?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Токен в контексте аутентификации и авторизации — это непрозрачная строка данных, выданная сервером после успешной аутентификации пользователя (или клиента). Он представляет собой учетные данные пользователя или клиента для дальнейшего доступа к защищенным ресурсам без необходимости повторно вводить логин и пароль.

Типы токенов:

  • Bearer Token: Самый распространенный тип, передается в заголовке Authorization как Bearer <токен>. Получатель токена (сервер) должен предоставить доступ тому, кто "несет" (bearer) токен, без дополнительной проверки подлинности.
  • JWT (JSON Web Token): Структурированный, самодостаточный токен, содержащий информацию о пользователе или сессии в закодированном виде. Состоит из трех частей, разделенных точками: заголовок (header), полезная нагрузка (payload) и цифровая подпись (signature). Может быть подписан (JWS) или зашифрован (JWE).

Наши тестовые сценарии для работы с токенами включают:

  1. Получение токена: Проверка корректности запроса аутентификации и успешного получения токена.
  2. Использование токена: Проверка доступа к защищенным ресурсам с действительным токеном.
  3. Недействительный/истекший токен: Проверка отказа в доступе при использовании некорректного, поддельного или истекшего токена.
  4. Отсутствие токена: Проверка отказа в доступе при попытке доступа без токена.
  5. Обновление токена (Refresh Token): Если используется, проверка механизма получения нового Access Token с помощью Refresh Token.
  6. Отзыв токена (Revocation): Проверка успешного отзыва токена и последующего отказа в доступе.

При автоматизации используем:

  • Библиотеки HTTP-клиентов (например, requests в Python, Axios в JavaScript) для отправки запросов с токенами.
  • Парсинг ответа для извлечения токена.
  • Сохранение токена в переменной для последующего использования.
python

В целом, токен обеспечивает безопасный и безстатусный способ управления доступом, снижая нагрузку на сервер аутентификации при каждом запросе к защищенным ресурсам.