Перейти к основному содержимому
Версия: 1.18.0 (последняя)

Доступ к Lite API

Общие принципы защиты API

Внешний доступ к BAF Lite осуществляется через gateway-под, который проверяет наличие валидного JWT-токена перед проксированием запроса к нижележащим сервисам. Таким образом обеспечивается защита всех сервисов, с которыми взаимодействует веб-компонента, включая video-recorder и сервисы image-api.

При обращении к сервисам внутри кластера использование JWT не требуется. Сервисы модуля image-api не защищают свои API, а часть API модуля video-recorder защищена внутренним токеном, который хранится в секрете video-recorder-token в файле ./cfg/video-recorder.secrets.json.

Генерация JWT-токена

Для генерации валидного JWT-токена используется модуль authentification-service.

осторожно

API модуля authentification-service не имеет собственной защиты и не должно быть доступно извне — в противном случае злоумышленник сможет генерировать собственные токены. Предполагается, что доступ к сервису осуществляется только внутри кластера Kubernetes или через внутренний домен.

Запрос на генерацию токена

Схема запроса:
POST /api/v1/jwt/generate

Пример запроса

curl -X 'POST' \
'http://auth-service.ru/api/v1/jwt/generate' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"expire_time": 500
}'

Параметры тела запроса (application/json)

ПараметрОписание
expire_timeВремя жизни токена в секундах, отсчитываемое с момента выполнения запроса. Обязательный.

Пример тела запроса

{
"expire_time": 500
}

Пример ответа

{
"token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBdXRoZW50aWZpY2F0aW9uU2VydmljZSIsImV4cCI6MTc4NTM1MzM1NiwibmJmIjoxNzg1MzAzMzU2fQ.Zzy-9aSDDhnKqbipAgW9MnZCb2PknSkloHzs2K7BFSavqVWtcs1_YE1aO1Sl4ELnOjF_qN-q0_flDtUCMqOZAQ"
}

Структура ответа

ПолеОписание
tokenСгенерированный JWT-токен, который должен быть передан в заголовке Authorization: Bearer <token> при обращении к защищённым API через gateway.