Перейти к содержимому

Единый security-паттерн для HTTP-интеграций

Директивный

#http#безопасность#аутентификация

Новые и переводимые HTTP-интеграции используют один общий reusable-модуль с единым способом аутентификации, интроспекцией токенов и XDTO-валидацией входных параметров. Каждая интеграция не изобретает свою схему авторизации и разбора тела.

Минимальный контракт модуля:

  1. Аутентификация — единая точка: интроспекция/валидация токена (или JWT) до бизнес-логики. Запрос без валидного токена → 401/403, дальше не проходит.
  2. Авторизация — выполнение от технического пользователя с минимальной ролью (Use на конкретный сервис/метод).
  3. Валидация входа — параметры тела проверяются по XDTO-схеме/контракту до использования; невалидное тело → 400, а не исключение в середине обработки.
  4. Идемпотентность — см. обработчики обмена.
  5. Логирование — диагностически значимые события в ЖР, без секретов и чувствительных тел запросов.

Разрозненные самописные точки входа — источник дыр в безопасности и неконтролируемого разбора данных. Единый модуль делает поведение всех интеграций одинаковым, проверяемым на ревью и переиспользуемым.

Общий модуль (ИнтеграцииБезопасность в примере) — один на конфигурацию: новая интеграция подключает его, а не копирует код. Логирование отказов внутри модуля — в ЖР, без токенов и тел запросов.

Исключений нет: любая точка входа HTTP-интеграции проходит через общий security-контракт. Внутренние вызовы без внешней границы — вне области стандарта.