Что такое Access Token (токен доступа) в API?

«Что такое Access Token (токен доступа) в API?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные характеристики:

  • Строка (часто в формате JWT — JSON Web Token).
  • Имеет ограниченный срок жизни (поле exp).
  • Содержит информацию о правах доступа (scopes).
  • Передается в заголовке HTTP-запроса: Authorization: Bearer <token>.

Пример структуры JWT (декодированная полезная нагрузка):

{
  "sub": "user123",
  "name": "Alice Smith",
  "iat": 1516239022,
  "exp": 1516242622,
  "scope": "read:profile write:settings"
}

Типичный поток использования:

  1. Клиент получает токен, отправив учетные данные на эндпоинт /oauth/token.
  2. Клиент использует этот токен в запросах к API.
  3. Сервер ресурсов проверяет валидность и права токена.

Что важно тестировать:

  • Истечение срока действия токена (должен возвращаться 401 Unauthorized).
  • Доступ только в рамках выданных прав (scopes).
  • Защиту от перехвата (обязательное использование HTTPS).
  • Возможность отзыва токена (revocation).