Проверка токенов аутентификации запроса¶
При использовании OAuth 2.0 для аутентификации брандмауэр API может быть настроен на проверку токенов доступа перед направлением запросов на ваш сервер приложений. Брандмауэр ожидает маркер доступа в Authorization: Bearer
заголовке запроса.
API Firewall считает токен действительным, если области, определенные в спецификации в метаданных токена, совпадают. Если значение APIFW_REQUEST_VALIDATION
равно BLOCK
, API Firewall блокирует запросы с недопустимыми токенами. В режиме LOG_ONLY
запросы с недопустимыми токенами только регистрируются.
Доступность функционала
Эта функция доступна только при запуске API Firewall для фильтрации запросов REST API.
Чтобы настроить поток проверки токена OAuth 2.0, используйте следующие переменные среды:
Переменная среды | Описание |
---|---|
APIFW_SERVER_OAUTH_VALIDATION_TYPE | Тип проверки токена аутентификации:
|
APIFW_SERVER_OAUTH_JW_SIGNATURE_ALGORITHM | Алгоритм, используемый для подписи JWT: RS256 , RS384 , RS512 , HS256 , HS384 или HS512 .JWT подписаны с использованием алгоритма ECDSA не может быть проверен брандмауэром API. |
APIFW_SERVER_OAUTH_JWT_PUB_CERT_FILE | Если JWT подписаны с использованием алгоритма RS256, RS384 или RS512, путь к файлу с открытым ключом RSA (*.pem ). Этот файл должен быть смонтирован в контейнере API Firewall Docker. |
APIFW_SERVER_OAUTH_JWT_SECRET_KEY | Если JWT подписываются с использованием алгоритма HS256, HS384 или HS512, для подписи JWT используется значение секретного ключа. |
APIFW_SERVER_OAUTH_INTROSPECTION_ENDPOINT | Конечная точка самоанализа токена. Примеры конечных точек:
|
APIFW_SERVER_OAUTH_INTROSPECTION_ENDPOINT_METHOD | Метод запросов к конечной точке самоанализа токена. Может быть GET или POST .Значение по умолчанию - GET . |
APIFW_SERVER_OAUTH_INTROSPECTION_TOKEN_PARAM_NAME | Имя параметра со значением токена в запросах к конечной точке самоанализа. В зависимости от значения APIFW_SERVER_OAUTH_INTROSPECTION_ENDPOINT_METHOD , API Firewall автоматически считает этот параметр либо параметром запроса, либо параметром тела. |
APIFW_SERVER_OAUTH_INTROSPECTION_CLIENT_AUTH_BEARER_TOKEN | Значение токена-носителя для аутентификации запросов к конечной точке самоанализа. |
APIFW_SERVER_OAUTH_INTROSPECTION_CONTENT_TYPE | Значение заголовка Content-Type , указывающего тип носителя службы самоанализа токенов. Значение по умолчанию - application/ octet-stream . |
APIFW_SERVER_OAUTH_INTROSPECTION_REFRESH_INTERVAL | Время действия кэшированных метаданных токена. Брандмауэр API кэширует метаданные токена и при получении запросов с теми же токенами получает свои метаданные из кеша. |
Интервал может быть установлен в часах (h ), минутах (m ), секундах (s ) или в комбинированном формате (например, 1h10m50s ). | |
Значение по умолчанию — 10m (10 минут). |