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

Laravel Nova 4提交登录表单报CSRF token mismatch错误如何解决

Laravel Nova 4 登录提交报CSRF token mismatch 排查方案

报错详情

exception: "Symfony\Component\HttpKernel\Exception\HttpException"
file: "F:\\MAG\\Projet Dev MAG\\GOHZE Project\\Echomoov\\Src\\Account\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php"
line: 379
message: "CSRF token mismatch."

排查步骤与解决方案

按优先级从高到低排查:

  • 校验会话核心配置:打开config/session.php核对三个参数:
    • domain:必须和当前访问Nova面板的域名完全一致,本地开发如果用自定义虚拟域名不要留空,禁止出现访问域名是a.test、配置填b.test的情况
    • secure:本地开发未启用HTTPS时必须设为false,生产环境启用HTTPS时设为true,配置错误会导致Cookie无法写入
    • same_site:跨子域访问场景不要设为strict,本地调试可暂时设为lax验证
      配置修改后执行php artisan config:clear清配置缓存。
  • 核对访问路径一致性:禁止出现页面用127.0.0.1:8000打开、表单提交到localhost:8000的混用情况,HTTP/HTTPS协议、域名、端口三者必须完全一致,否则浏览器会拦截Cookie携带。
  • 排查目录权限与缓存问题:
    Windows环境下确认storage目录、bootstrap/cache目录对PHP运行进程有可写权限,依次执行以下命令清除所有框架缓存:
    php artisan cache:clear
    php artisan config:clear
    php artisan route:clear
    php artisan view:clear
    
    手动删除storage/framework/sessions目录下的所有旧会话文件后重试。
  • 修复Nova资源与配置问题:执行php artisan nova:publish重新发布Nova的前端静态资源,避免旧版本JS缓存导致表单未正常携带CSRF字段;核对config/nova.php中的path参数和实际访问的Nova路径前缀完全匹配。
  • 校验反向代理配置:如果站点前套了Nginx反向代理、CDN服务,打开app/Http/Middleware/TrustProxies.php,将代理IP加入$proxies配置项,同时正确配置$headers参数匹配转发的X-Forwarded头,避免Laravel识别到的请求域名、协议和实际访问不一致。
  • 浏览器侧校验:打开浏览器开发者工具,切到「应用/Application」面板,确认当前访问域名下存在XSRF-TOKEN、laravel_session两个Cookie;切到「网络/Network」面板查看登录POST请求,确认请求Payload包含_token字段、或请求头携带X-XSRF-TOKEN。如果Cookie不存在,优先回溯前面的会话配置、域名匹配项排查;如果Cookie存在但未携带,清除浏览器本地Cookie、站点缓存后硬刷新页面重试。
  • 多守卫场景校验:如果Nova配置了自定义用户认证守卫,确认该守卫使用的会话驱动、存储配置和默认web守卫一致,避免会话读取隔离导致CSRF校验失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:03:21