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

Автоматизация

OpenAPI Битрикс24 показывает возможности портала, а не права вашего webhook

Документация REST 3.0 Битрикс24 описывает методы и схемы ответа конкретного портала. Но наличие метода в OpenAPI не подтверждает, что текущему вебхуку выдан нужный скоуп и что его владелец имеет право на объект.

Короткий ответ. Наличие метода в OpenAPI не означает право текущего токена его вызвать.

Суть

REST v3 может показывать методы, доступные в конфигурации портала. Но capability discovery и authorization check — разные вещи. Метод может быть виден в схеме и вернуть 403 при фактическом вызове, если нужный scope не выдан.

Как применить на практике

Проверяйте три вещи последовательно: метод есть в OpenAPI; нужный скоуп указан для метода и выдан интеграции; пользователь, от имени которого выполняется запрос, имеет доступ к целевому объекту. В REST 3.0 отсутствие скоупа и отсутствие объектного права различаются по кодам ошибок. Не используйте список методов как тест авторизации.

Что проверить

  1. Проверить наличие метода.
  2. Проверить scopes текущей авторизации.
  3. Выполнить безопасный тестовый вызов.
  4. Обрабатывать insufficient scope отдельно.
  5. Не расширять права без необходимости.

Граница применимости

OpenAPI REST 3.0 относится только к методам новой версии. Наличие старого метода в общем справочнике не означает, что он переведён на REST 3.0.

Типовая ошибка

считать «метод есть в документации» эквивалентом «webhook имеет право».

Вывод

Capability отвечает на «существует ли возможность», authorization — «может ли данный субъект сделать это сейчас».

Источники

Связанные материалы

Все разборы · Интеграции Битрикс24 · Как проверять запись через API

Следующий шаг

Проверить ситуацию на данных

Сначала определите исходный документ, целевое решение и контрольный результат.

Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie.