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

Laravel+InertiaJS+React登录时419页面过期问题求助

419 Page Expired 错误排查(Laravel 10.4 + InertiaJS 1.0 + React 18.2)

我已查阅所有相关问题与解答,但仍未解决问题。提交登录凭证时持续出现419 Page Expired错误,推测是CSRF相关问题。

环境配置

初始Session驱动为database,现已改为file,.env配置如下:

SESSION_DRIVER=file

根据文档说明,Laravel通过Inertia或Axios请求时会自动携带正确CSRF Token,且需移除csrf-token meta标签以避免Token无法正常刷新,但仍未解决问题。

已尝试的解决方法

  • 在Kernel.php的$middlewareGroups中移除StartSession、ShareErrorsFromSession中间件
  • 在app.blade.php中添加<meta name="csrf-token" content="{{ csrf_token() }}">,并在表单JSX中添加<input type="hidden" name="_token" value="{{ csrf_token() }}" />
  • 手动在表单中注入csrf_token:
const token = document.querySelector('meta[name="csrf-token"]').getAttribute('content');

const form = useForm({
    email:    '',
    password: '',
    _token:   token,
});

登录组件核心代码(精简版)

const form = useForm({
    email:    '',
    password: '',
});

function login(e) {
    e.preventDefault();
    form.post(route('login'), {
        onFinish: () => {
            form.reset('password');
        },
    });
}

// ...

return (
    <div>
        {/* 邮箱输入框 */}
        {/* 密码输入框 */}
        <Button onClick={login}> Log in </Button>
    </div>
)

所有尝试均无效,仍出现419错误,请问还有其他可行的解决方法吗?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:10:04