В настоящее время я работаю над встроенным приложением shopify, которое использует python flask и библиотеку 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
Каким-то образом Safari пытается загрузить что-то через http при посещении приложения в shopify admin, однако при использовании Google Chrome, Firefox и т. Д. Это не так, и все работает нормально.
Встроенные приложения Shopify загружают содержимое приложения в iframe, где оно отображается встроенным на странице администрирования Shopify.
Когда я смотрю на значение iframe src в отладчике chrome / firefox, я вижу, что оно правильно указывает на:
https://app-domain.com/shopify?hmac=xxx..&protocol=https://&shop=hopify-store-name
Приложение перенаправляет и адреса, установленные в настройках партнера shopify, также все используют https.
То, что я уже пытался безуспешно, это:
- Использование SSLify в бэкэнде для перенаправления любых запросов на https
- Включение CORS
Я использую:
- Python 3.6.6
- Колба 1.0.2
- ShopifyAPI 3.1.0
- Werkzeug 0.14.1
Поскольку я получаю сообщение об ошибке только при использовании сафари, я понятия не имею, в чем может быть проблема, и надеюсь, что кто-то может помочь мне с этим.
С наилучшими пожеланиями
Dominik