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

Laravel 9对接银行门户回调时SameSite Cookie相关419错误求助

解决Laravel 9银行回调419错误及Cookie跨站丢失问题

问题根源

当银行门户跨站重定向到你的回调地址时,浏览器因Cookie的SameSite属性为Lax/Strict而拒绝携带这些Cookie,导致Laravel无法验证CSRF令牌,从而返回419状态码。


解决方案

方案1:修改Session的SameSite属性为None

跨站请求需要将Cookie的SameSite设为None,同时必须开启Secure属性(仅HTTPS环境有效):

  • 打开config/session.php文件,修改以下配置:
    'same_site' => 'none',
    'secure' => env('SESSION_SECURE_COOKIE', true),
    
  • 确保项目运行在HTTPS环境下(银行回调通常强制要求HTTPS)。

方案2:将回调路由排除在CSRF验证之外

如果回调接口不需要使用会话数据,可直接跳过CSRF验证:

  • 打开app/Http/Middleware/VerifyCsrfToken.php,在$except数组中添加你的回调路由:
    protected $except = [
        '/sap/CallBack', // 替换为你的实际回调路由
    ];
    
  • 注意:此方案仅适用于完全信任银行回调请求的场景,需确保回调接口本身有其他验证机制(如签名校验)防止恶意请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:15:34