Laravel 9单应用Web/API鉴权 SESSION_DOMAIN引发419错误
问题根因
你遇到的419 | Page Expired错误本质是Laravel的CSRF校验未通过,核心触发点是SESSION_DOMAIN配置和域匹配规则不符,叠加Sanctum有状态域配置不全的问题:
SESSION_DOMAIN的作用是定义Session Cookie、CSRF Cookie的生效范围:生产环境多子域共享Session时需要配置为带点前缀的根域名(比如.example.com),才能匹配a.example.com、b.example.com等所有子域;本地开发时如果直接配置为localhost不带前缀,部分浏览器会因为端口(Web端80端口、前端3000端口)差异判定Cookie作用域不匹配,导致Web端提交请求时带不上正确的CSRF Token,直接触发419。这也是为什么你删掉这个配置项后功能恢复正常——配置留空时Laravel会自动匹配当前请求的Host设置Cookie作用域,不会出现跨端口匹配失败的问题。- 你当前
SANCTUM_STATEFUL_DOMAINS只配置了localhost:3000,没有覆盖Web端默认的80端口localhost,Sanctum的SPA认证逻辑会把Web端的请求判定为第三方无状态请求,进一步干扰Cookie校验逻辑。 - 你写的API鉴权逻辑里混入了Session操作代码:走Sanctum Token鉴权的纯API接口不需要操作Session,这些代码会在API请求时主动重置Session,导致Web端已有的登录态、CSRF Token失效。
修复步骤
1. 调整.env域相关配置
根据你的本地开发场景,二选一配置即可:
- 方案一(本地开发最稳妥):直接删除
SESSION_DOMAIN配置项,同时补全Sanctum有状态域配置:
APP_URL=http://localhost SANCTUM_STATEFUL_DOMAINS=localhost,localhost:3000,127.0.0.1,127.0.0.1:3000 SESSION_SECURE_COOKIE=false SESSION_SAME_SITE=lax
- 方案二(后续要做多子域测试):保留
SESSION_DOMAIN,本地localhost场景不要加前缀点,生产环境换正式域名时再加前缀点:
APP_URL=http://localhost SANCTUM_STATEFUL_DOMAINS=localhost,localhost:3000,127.0.0.1,127.0.0.1:3000 SESSION_DOMAIN=localhost SESSION_SECURE_COOKIE=false SESSION_SAME_SITE=lax
配置修改完成后执行
php artisan config:clear清除缓存的配置,避免旧配置干扰。
2. 清理API鉴权里的冗余Session代码
纯Token鉴权的API接口不需要操作Session,你当前app/Http/Controllers/API/UserController.php里的Session相关代码会干扰Web端的Session状态,直接删掉以下代码:
register方法里的$request->session()->regenerate();login方法里的$request->session()->regenerate();logout方法里的$request->session()->invalidate();、$request->session()->regenerateToken();
只保留用户创建、Token生成/删除、参数校验的逻辑即可。
3. 确认Web端基础配置
- 检查Web端登录表单是否添加了
@csrfBlade指令,确保提交表单时会携带CSRF字段 - 打开
app/Http/Middleware/VerifyCsrfToken.php,确认没有把/admin-login这类Web端POST路由加入CSRF白名单 - 检查浏览器Cookie设置,确认没有禁用localhost下的Cookie写入权限
验证标准
配置修改完成后按以下顺序验证:
- 访问
http://localhost进入Web端登录页,提交管理员账号密码可正常跳转后台,不再出现419错误 - 3000端口的前端服务调用
/v1/register、/v1/login接口可正常获取Token,携带Token请求/v1/profile可正常返回用户信息 - 两端登录状态互不影响:Web端退出登录不会导致API Token失效,API端调用退出接口也不会踢掉Web端的登录态
内容的提问来源于stack exchange,提问作者DCodeMania
相关产品推荐
相关产品推荐

