← К документации

REST

Локальные приложения и авторизация

Когда достаточно BX24.js, а когда приложению нужны сервер и OAuth-токены.

Приложение внутри портала

Для интерфейса, который работает только в открытом iframe, REST можно вызывать через BX24.js. Контекст появляется после инициализации SDK. URL обработчика приложения и страница его установки — разные роли, даже если их обслуживает один сервер.

BX24.init(function () {
    BX24.callMethod(
        'user.current',
        {},
        function (result) {
            if (result.error()) {
                console.error(result.error());
                return;
            }

            console.log(result.data());
        }
    );
});

Не выводите объект BX24.getAuth() в консоль и не отправляйте его в аналитику. Авторизация не нужна для отладки обычного названия метода.

Фоновая работа требует серверного состояния

Когда вкладка закрыта, браузерный код не является надёжным исполнителем очереди. Для фоновых задач сервер хранит авторизацию установленного приложения отдельно для каждого портала. access_token имеет ограниченный срок жизни; обновление выполняется с использованием refresh_token.

После обновления сохраняйте весь актуальный набор токенов атомарно. Параллельные работники не должны одновременно перезаписывать его старыми значениями. Вебхук и OAuth — разные способы авторизации: не добавляйте OAuth-токен в URL входящего вебхука.

Когда завершать установку

BX24.installFinish() сообщает порталу о завершённой установке. Вызывайте его после успешной регистрации обязательных встраиваний и сохранения необходимых настроек. Если placement.bind вернул ошибку, покажите её установщику и оставьте возможность повторить шаг.

Пример регистрации виджета

Входящие запросы от приложения

Параметры DOMAIN, ID пользователя и данные iframe, присланные браузером, сами по себе не доказывают установку приложения или право на серверную операцию. Сервер связывает запрос со своей установленной интеграцией и проверенной авторизацией.

Секрет клиента и refresh token хранятся за пределами публичного каталога. Проверка Origin или CSRF полезна для своего интерфейса, но не заменяет проверку прав в Bitrix24.

Источники