Внешний Javascript не может получить доступ к странице Visualforce
Со своей страницы 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 ".
Ответы
Вы не сможете получить доступ к странице Visualforce с внешнего сайта, если не создадите сайт Salesforce и не получите к нему доступ.
Подробности см. В этом ответе: Страница Visual Force, к которой может получить доступ любой
Похоже, вам нужно добавить несколько доменов в настройки белого списка.
В соответствии с этим Разрешите необходимые домены :
Если вы контролируете доступ пользователей или серверов к Интернету с помощью списков разрешений, добавьте эти домены, чтобы гарантировать получение всего содержимого 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