【发布时间】:2018-11-04 22:18:15
【问题描述】:
我目前正在开发一个 shopify 嵌入式应用程序,该应用程序在后端使用 python 烧瓶和 shopifyapi 库。 该应用程序运行良好,并且在除(macos 和 ios)safari 之外的任何浏览器中都可见。
我在使用 safari 时收到的错误如下:
Blocked mixed content
http://app-domain.com/shopify?hmac=xxx..&protocol=https://&shop=shopify-store-name because 'block-all-mixed-content' appears in the Content Security Policy
在 shopify admin 中访问应用程序时,safari 会以某种方式尝试通过 http 加载某些内容,但是当使用 google chrome、firefox 等时,情况并非如此,一切正常。 Shopify 嵌入式应用程序将应用程序内容加载到 iframe 中,并在其中显示嵌入到 shopify 管理页面中。
当我查看 chrome/firefox 调试器中的 iframe src 值时,我可以看到它正确指向:
https://app-domain.com/shopify?hmac=xxx..&protocol=https://&shop=hopify-store-name
shopify合作伙伴设置中设置的应用重定向和地址也都是使用https的。
我已经尝试过但没有成功的是:
- 在后端使用 SSLify 将任何请求重定向到 https
- 启用 CORS
我正在使用:
- Python 3.6.6
- Flask 1.0.2
- ShopifyAPI 3.1.0
- Werkzeug 0.14.1
因为我只在使用 safari 时收到错误,所以我不知道可能是什么问题,希望有人可以帮助我解决这个问题。
最好的问候 多米尼克
【问题讨论】:
标签: python iframe flask safari shopify