Se o seu site implementa uma Política de Segurança de Conteúdo (CSP), você precisará garantir que ela permita o carregamento dos recursos necessários para o Fin Messenger funcionar corretamente. A CSP é uma camada adicional de segurança que ajuda a detectar e mitigar certos tipos de ataques, incluindo Cross Site Scripting (XSS) e ataques de injeção de dados.
Abaixo estão as diretivas e valores que você deve incluir em sua política para garantir a funcionalidade completa do Fin Messenger em seu produto e site.
Diretivas CSP obrigatórias
O Fin Messenger suporta totalmente Google strict CSPv3:
Content-Security-Policy:
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'self';
Se você já está aplicando essa política em seu site, não precisa fazer alterações. Observe também que será necessário incluir algumas nonce-source(s) para alguns scripts carregados pelo Fin Messenger. Você pode consultar este tutorial para obter ajuda sobre o uso de nonces.
Lista de permissões de origem
Se preferir confiar na lista de permissões de origem (por exemplo, se não puder usar recursos CSPv2 ou v3), aqui estão as diretivas relevantes que você precisará usar:
script-src:
https://app.intercom.io
https://widget.intercom.io
https://js.intercomcdn.com
Se você estiver aplicando outras diretivas CSP, precisará adicionar as seguintes entradas para que o Fin Messenger funcione corretamente:
Nota: Os domínios CDN regionais listados abaixo precisam ser adicionados apenas para a região de hospedagem do seu workspace. Por exemplo, um workspace hospedado nos EUA requer https://uploads.intercomcdn.com, mas não https://uploads.intercomcdn.eu ou https://uploads.au.intercomcdn.com. O mesmo se aplica a outros domínios específicos de região (por exemplo, downloads.*, messenger-apps.*, static.intercomassets.* e intercom-attachments.*). Se você não souber sua região de hospedagem, verifique as configurações do seu workspace.
connect-src:
https://via.intercom.io
https://api.intercom.io
https://api.au.intercom.io
https://api.eu.intercom.io
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io
https://api-ping.intercom.io
https://*.intercom-messenger.com
wss://*.intercom-messenger.com
https://nexus-websocket-a.intercom.io
wss://nexus-websocket-a.intercom.io
https://nexus-websocket-b.intercom.io
wss://nexus-websocket-b.intercom.io
https://nexus-europe-websocket.intercom.io
wss://nexus-europe-websocket.intercom.io
https://nexus-australia-websocket.intercom.io
wss://nexus-australia-websocket.intercom.io
https://uploads.intercomcdn.com
https://uploads.intercomcdn.eu
https://uploads.au.intercomcdn.com
https://uploads.eu.intercomcdn.com
https://uploads.intercomusercontent.com
child-src:
https://intercom-sheets.com
https://www.intercom-reporting.com
https://www.youtube.com
https://player.vimeo.com
https://fast.wistia.net
font-src:
https://js.intercomcdn.com
https://fonts.intercomcdn.com
form-action:
https://intercom.help
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io
media-src:
https://js.intercomcdn.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com
img-src:
blob:
data:
https://js.intercomcdn.com
https://static.intercomassets.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com
https://uploads.intercomusercontent.com
https://gifs.intercomcdn.com
https://video-messages.intercomcdn.com
https://messenger-apps.intercom.io
https://messenger-apps.eu.intercom.io
https://messenger-apps.au.intercom.io
https://*.intercom-attachments-1.com
https://*.intercom-attachments.eu
https://*.au.intercom-attachments.com
https://*.intercom-attachments-2.com
https://*.intercom-attachments-3.com
https://*.intercom-attachments-4.com
https://*.intercom-attachments-5.com
https://*.intercom-attachments-6.com
https://*.intercom-attachments-7.com
https://*.intercom-attachments-8.com
https://*.intercom-attachments-9.com
https://static.intercomassets.eu
https://static.au.intercomassets.com
style-src:
'unsafe-inline'
Além disso, se seu serviço suportar apenas CSPv3, será necessário usar duas entradas separadas para frame-src e worker-src em vez de child-src, pois essa palavra-chave está sendo descontinuada.
Nota:
As entradas acima são necessárias para que a funcionalidade do Fin Messenger funcione corretamente em seu aplicativo. Algumas integrações em nossa App Store podem exigir que você adicione outras entradas à sua CSP também. Se for o caso, você verá uma mensagem de erro no console do desenvolvedor do seu navegador indicando isso.
https://*.intercom-messenger.comewss://*.intercom-messenger.comforam adicionados à diretivaconnect-srcpara acomodar uma infraestrutura mais ampla e escalável para comunicação em tempo real no Fin Messenger. Essas entradas curinga são necessárias para suportar a atualização e garantir que o messenger possa se conectar dinamicamente a múltiplos endpoints em tempo real.
Firewalls
Muitos dos domínios acima também precisarão ser permitidos nas configurações do seu firewall para permitir o funcionamento correto do Fin Messenger.
