Перейти к основному содержанию
API использует двухуровневую модель безопасности: Mutual TLS (mTLS) для аутентификации и OAuth 2.0 Bearer токены для авторизации.

Двухуровневая модель безопасности

Уровень 1: Mutual TLS (mTLS) — Аутентификация

Все запросы к API требуют валидного клиентского сертификата для mTLS аутентификации. Сертификат необходимо получить у инфраструктурной команды, указав информацию о вашем приложении.

Уровень 2: Bearer токен — Авторизация

В дополнение к mTLS, все запросы должны содержать валидный Bearer токен в заголовке Authorization:
Authorization: Bearer <token>
Bearer токен определяет, какие операции может выполнять клиент (через scopes).

Получение токена

Токен получается через OAuth 2.0 endpoint с использованием стандартного Client Credentials flow. Для получения токена используются client_id и client_secret (mTLS не требуется для этого запроса). Endpoint: https://auth.every.ru/oauth/v2/token Метод: POST Параметры:
  • grant_type=client_credentials (обязательно)
  • client_id — идентификатор клиента (обязательно)
  • client_secret — секрет клиента (обязательно)
  • scope — список необходимых scope, разделённых пробелом (обязательно)
Пример запроса:
curl -X POST https://auth.every.ru/oauth/v2/token \
  -u "client_id:client_secret" \
  -d "grant_type=client_credentials" \
  -d "scope=catalog.lounges booking.lounges"
Пример ответа:
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Scopes

API использует следующие scopes для контроля доступа:
  • catalog.lounges — доступ к получению информации о бизнес-залах
  • catalog.fast_tracks — доступ к получению информации о фаст-треках
  • booking.lounges — доступ к бронированию бизнес-залов
  • booking.fast_tracks — доступ к бронированию фаст-треков
Каждая операция требует соответствующий scope. Например, для создания бронирования бизнес-зала требуется scope booking.lounges.

Время жизни токена

Токен действителен в течение 1 часа (3600 секунд) с момента выдачи. После истечения срока действия необходимо получить новый токен.

Формат токена

Токен представляет собой JWT (JSON Web Token) в формате {header}.{payload}.{signature}.

Обработка ошибок

При ошибках аутентификации API возвращает:
  • 401 Unauthorized — если отсутствует или недействителен клиентский сертификат или Bearer токен
  • 403 Forbidden — если токен валиден, но отсутствует необходимый scope или неверный audience
Подробнее см. документацию по ошибкам.

Рекомендации

  1. Кэшируйте токены: Сохраняйте токен и время его получения, чтобы не запрашивать новый токен при каждом запросе
  2. Обновляйте токены заранее: Обновляйте токен за несколько минут до истечения срока действия
  3. Используйте минимальные scopes: Запрашивайте только те scopes, которые действительно необходимы для вашего приложения
  4. Безопасное хранение: Храните клиентские сертификаты, client_id/client_secret и токены в безопасном месте (не в коде)
  5. Разделяйте endpoints: Endpoint для получения токена (/oauth/v2/token) не требует mTLS, а endpoint API (/api/v2/*) требует mTLS