Проверка токенов аутентификации запроса¶
При использовании 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 минут). |