Javascript yang dihosting secara eksternal tidak dapat mengakses halaman Visualforce
Dari halaman Visualforce saya, saya memanggil aplikasi Javascript yang dihosting secara eksternal:
<apex:page>
<apex:iframe src="https://external.com/index.html" id="theFrame" />
</apex:page>
JS eksternal ini mencoba menarik data dari halaman Visualforce yang terletak di:
fetch("https://mydomain.visualforce.com/apex/dataPage").then(...);
Saya menambahkan domain eksternal ke setelan CORS organisasi saya
Masalahnya adalah skrip eksternal tidak melihat halaman dan mendapatkan error:
Menolak untuk menyambung ke '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 'karena melanggar petunjuk Kebijakan Keamanan Konten berikut: "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 ".
Jawaban
Anda tidak dapat mengakses halaman Visualforce dari situs eksternal kecuali Anda membuat situs Salesforce dan mengaksesnya.
Lihat jawaban ini untuk detailnya: Visual Force Page yang dapat diakses oleh siapa saja
Tampaknya, Anda perlu menambahkan beberapa domain di setelan daftar putih.
Sesuai ini Izinkan Domain yang Diperlukan :
Jika Anda mengontrol akses pengguna atau server Anda ke Internet melalui daftar yang diizinkan, tambahkan domain ini untuk memastikan bahwa Anda menerima semua konten Salesforce.
- * .bluetail.salesforce.com
- * .content.force.com
- * .documentforce.com
- * .force.com
- * .forcesslreports.com
- * .forceusercontent.com
- * .lightning.com
- * .salesforce.com
- * .salesforceliveagent.com (digunakan dengan Obrolan, Omni-Channel, dan SOS)
- * .salesforce-community.com (diperlukan jika Anda menggunakan Komunitas atau Site.com) trailblazer.me
- * .visualforce.com