You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Kyon147/laravel-shopify开发Shopify应用遇CSP跳转错误求助

问题解决方案

1. 检查包内置的CSP配置

Kyon147/laravel-shopify本身自带适配Shopify iframe环境的CSP处理逻辑,无需手动创建中间件。你需要确认config/shopify-app.php中的CSP配置是否正确:

  • 确保csp_enabled设为true
  • 检查frame_ancestors数组包含'https://admin.shopify.com'以及你的测试店铺域名(例如https://your-test-shop.myshopify.com)

示例配置代码:

'csp' => [
    'enabled' => true,
    'frame_ancestors' => [
        'https://admin.shopify.com',
        'https://your-test-shop.myshopify.com',
    ],
],

2. 移除自定义中间件

你自行添加的CSP中间件会和包内置的处理逻辑冲突,导致响应头异常。请从路由或全局中间件列表中移除该自定义中间件。

3. 排查响应头覆盖问题

如果包的CSP配置未生效,检查是否有其他中间件(如Laravel自带的CSP组件、第三方扩展)覆盖了响应头。可在控制器中临时调试输出响应头:

dd(headers_list());

查看是否存在多个Content-Security-Policy头,或frame-ancestors值未正确包含所需域名。

4. 确认ngrok环境合规

确保ngrok提供的是HTTPS域名(Shopify强制要求应用使用HTTPS),且浏览器未提示SSL证书错误。无需将ngrok域名加入frame_ancestors,因为控制嵌入权限的是父页面(admin.shopify.com和店铺后台)的域名。

5. 清理Laravel缓存

执行以下命令清除配置缓存,确保修改后的配置生效:

php artisan config:clear
php artisan cache:clear

内容的提问来源于stack exchange,提问作者Andris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:15:32