Внешний Javascript не может получить доступ к странице Visualforce

Sep 10 2020

Со своей страницы Visualforce я вызываю внешнее приложение Javascript:

<apex:page>
    <apex:iframe src="https://external.com/index.html" id="theFrame" />
</apex:page>

Этот внешний JS пытается получить данные со страницы Visualforce, расположенной по адресу:

fetch("https://mydomain.visualforce.com/apex/dataPage").then(...);

Я добавил внешний домен в настройки CORS моей организации

Проблема в том, что внешний скрипт не видит страницу и выдает ошибки:

Отказался подключиться к https://java-business-5237-dev-ed.cs69.my.salesforce.com/visualforce/session?url=https%3A%2F%2Fjava-business-5237-dev-ed-- c.visualforce.com% 2Fapex% dataPage ', потому что он нарушает следующую директиву политики безопасности контента: «connect-src' self ' https://api.bluetail.salesforce.com https://staging.bluetail.salesforce.com https://preprod.bluetail.salesforce.com blob: * .visualforce.com https://java-business-5237-dev-ed--c.documentforce.com https://cs69.salesforce.com ".

Ответы

1 pvukovic Sep 10 2020 at 02:56

Вы не сможете получить доступ к странице Visualforce с внешнего сайта, если не создадите сайт Salesforce и не получите к нему доступ.

Подробности см. В этом ответе: Страница Visual Force, к которой может получить доступ любой

3 YsrShk Sep 10 2020 at 00:26

Похоже, вам нужно добавить несколько доменов в настройки белого списка.

В соответствии с этим Разрешите необходимые домены :

Если вы контролируете доступ пользователей или серверов к Интернету с помощью списков разрешений, добавьте эти домены, чтобы гарантировать получение всего содержимого Salesforce.

  • * .bluetail.salesforce.com
  • * .content.force.com
  • * .documentforce.com
  • * .force.com
  • * .forcesslreports.com
  • * .forceusercontent.com
  • * .lightning.com
  • * .salesforce.com
  • * .salesforceliveagent.com (используется с Chat, Omni-Channel и SOS)
  • * .salesforce-community.com (необходимо, если вы используете сообщества или Site.com) trailblazer.me
  • * .visualforce.com