Javascript hospedado externamente não consegue acessar a página do Visualforce

Sep 10 2020

Na minha página do Visualforce, estou chamando um aplicativo Javascript hospedado externamente:

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

Este JS externo está tentando extrair dados de uma página do Visualforce localizada em:

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

Eu adicionei o domínio externo às configurações CORS da minha organização

O problema é que o script externo não vê a página e obtém erros:

Recusou-se a conectar-se a '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 'porque viola a seguinte diretiva de Política de Segurança de Conteúdo: "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 ".

Respostas

1 pvukovic Sep 10 2020 at 02:56

Você não pode acessar uma página do Visualforce de um site externo, a menos que crie um site do Salesforce e acesse-o.

Veja esta resposta para detalhes: Página Visual Force que pode ser acessada por qualquer pessoa

3 YsrShk Sep 10 2020 at 00:26

Parece que você precisa adicionar alguns dos domínios nas configurações da lista de permissões.

De acordo com este Permitir os domínios necessários :

Se você controlar o acesso de seus usuários ou servidores à Internet por meio de listas de permissões, adicione esses domínios para garantir que receberá todo o conteúdo do Salesforce.

  • * .bluetail.salesforce.com
  • * .content.force.com
  • * .documentforce.com
  • * .force.com
  • * .forcesslreports.com
  • * .forceusercontent.com
  • * .lightning.com
  • * .salesforce.com
  • * .salesforceliveagent.com (usado com Chat, Omni-Channel e SOS)
  • * .salesforce-Communities.com (necessário se você estiver usando Comunidades ou Site.com) trailblazer.me
  • * .visualforce.com