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

使用Kyon147/laravel-shopify包时verify.shopify中间件路由失效问题

解决Kyon147/laravel-shopify中verify.shopify中间件路由失效问题

可能的原因及修复方案

1. 域名校验拦截本地/非嵌入访问

verify.shopify中间件默认会校验请求是否来自合法的Shopify店铺域名,若直接通过本地地址(如localhost:8000)或非Shopify嵌入环境访问中间件内的路由,会被拦截。

  • 修复方式:
    • 开发测试时,可临时修改中间件逻辑跳过本地校验(仅用于开发环境):
      找到vendor/kyon147/laravel-shopify/src/Middleware/VerifyShopify.php文件,修改handle方法:
      public function handle(Request $request, Closure $next)
      {
          if (app()->environment('local')) {
              return $next($request);
          }
          // 保留原有的校验逻辑
          return parent::handle($request, $next);
      }
      
    • 正式环境必须通过Shopify后台嵌入iframe访问这些路由。

2. OAuth会话未初始化或失效

中间件依赖Shopify OAuth授权后的会话信息,若会话未建立或已过期,会导致路由无法访问。

  • 修复方式:
    • 确认应用已完成Shopify OAuth授权流程,用户已授权应用访问店铺。
    • 检查.env配置项是否正确:
      SHOPIFY_API_KEY=你的API密钥
      SHOPIFY_API_SECRET=你的API密钥
      SHOPIFY_APP_URL=https://你的应用域名.com
      
    • 清除缓存和会话:
      php artisan cache:clear
      php artisan session:clear
      

3. 路由顺序或重复定义冲突

若其他路由文件中存在与/、/plan重复的路由定义,且定义在中间件组之后,会覆盖中间件内的路由。

  • 修复方式:检查所有路由文件,确保没有重复路由,并将带verify.shopify中间件的路由组放在所有路由定义的最前面。

4. 中间件未正确注册

若verify.shopify中间件未在Laravel内核中注册,会导致路由组的中间件失效。

  • 修复方式:打开app/Http/Kernel.php,确认$routeMiddleware数组中存在以下配置:
    'verify.shopify' => \Kyon147\LaravelShopify\Middleware\VerifyShopify::class,
    
    若缺失,手动添加该条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:57:39