← Назад к заметкам

Заметки

Как выводить элементы смарт-процесса с другого портала

Как выводить элементы смарт-процесса с другого портала: iframe, REST, OAuth, безопасность, CORS.

Как выводить элементы смарт-процесса с другого портала: iframe, REST, OAuth, безопасность, CORS.

Схема

Порталы не читают данные друг друга напрямую.

Нужен серверный слой: он авторизуется на другом портале, получает элементы через REST, нормализует данные и отдаёт их приложению.

Безопасность

Не храните OAuth-токены во фронтенде.

Токены второго портала должны жить на сервере. Иначе пользователь увидит их в DevTools.

Права двух порталов не объединяются автоматически, поэтому доступ нужно проверять отдельно.

iframe и CORS

iframe редко решает задачу полностью.

Даже если страницу удаётся встроить, остаются авторизация, ограничения встраивания и UX. Для рабочих списков лучше рисовать свой интерфейс.

Минимальный пример

Пример показывает только базовую форму вызова. На реальном портале замените ID и имена полей на свои.

BX24.callMethod(
    'crm.item.list',
    {
        entityTypeId: 178,
        select: ['id', 'title', 'assignedById'],
        order: { id: 'desc' },
    },
    function (result) {
        console.log(result.data().items);
    }
);