외부에서 호스팅되는 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

Salesforce 사이트를 만들고 액세스하지 않는 한 외부 사이트에서 Visualforce 페이지에 액세스 할 수 없습니다.

자세한 내용은이 답변을 참조하십시오 : 누구나 액세스 할 수있는 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 (채팅, 옴니 채널 및 SOS와 함께 사용)
  • * .salesforce-communities.com (커뮤니티 또는 Site.com을 사용하는 경우 필요) trailblazer.me
  • * .visualforce.com