【问题标题】:How to render images from Magnolia CMS on Salesforce Community?如何在 Salesforce 社区上渲染来自 Magnolia CMS 的图像?
【发布时间】:2020-09-28 20:33:26
【问题描述】:

我能够在 Salesforce 社区上呈现来自 Magnolia public REST API 的文本内容。

问题:图像文件被 CSP(内容安全策略)阻止

已尝试:在 CSP 受信任站点的站点 URL 中以几种不同的方式添加了基本 URL

    https://*.magnolia-cms.com
    https://*.demopublic.magnolia-cms.com
    https://demopublic.magnolia-cms.com

   Also, included https://demopublic.magnolia-cms.com url in Trusted Sites for Script

我在这里缺少什么?

【问题讨论】:

    标签: salesforce content-management-system magnolia


    【解决方案1】:

    这看起来像是忘记在 Magnolia 网站上设置 CORS 标头的典型情况,因此浏览器会按照规范的要求阻止请求:

    出于安全原因,浏览器会限制从脚本发起的跨域 HTTP 请求。例如,XMLHttpRequest 和 Fetch API 遵循同源策略。这意味着使用这些 API 的 Web 应用程序只能从加载应用程序的同一来源请求资源,除非来自其他来源的响应包含正确的 CORS 标头。

    More details here

    如果您以前没有这样做过,您可以使用AddHeadersFilter 在标头中添加简单的静态 CORS 定义。之前讨论过,例如here

    【讨论】:

    • 您好 Jan,感谢您抽出宝贵时间回答。我正在使用 Magnolia (demopublic.magnolia-cms.com/.rest/delivery/tours/v1) 的公共 API,所以我假设他们已经在他们身边启用了 CORS。我在 Salesforce CORS 中将 demopublic.magnolia-cms.com 基本 URL 列入白名单,但仍然存在 CORS 问题。
    • 反之亦然。 Magnolia 必须允许 salesforce,以便来自 Magnolia 的响应将 salesforce 列为来源,否则需要浏览器阻止来自 Magnolia 的数据请求。要对其进行测试,我建议您针对本地 Magnolia 实例执行。演示会定期重置,因此您所做的任何设置都会在几分钟内被清除。
    猜你喜欢
    • 1970-01-01
    • 2015-05-31
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多