Laravel Sanctum功能及SPA认证机制相关疑问咨询
Laravel Sanctum:Web登录后能否访问
auth:sanctum路由? 答案是肯定的——通过web路由(auth中间件)登录后,完全可以正常访问使用auth:sanctum中间件的API路由。
背后的逻辑
Sanctum的SPA认证机制本质是复用了Laravel的web会话认证:
- 当你通过web路由完成登录时,Laravel会创建用户会话并在浏览器中设置
laravel_sessionCookie。 auth:sanctum中间件会优先检查这个会话Cookie(只要请求来自配置的信任SPA域名),验证通过后即可识别当前登录用户,无需额外生成或携带API令牌。
和JWT的核心差异
和你熟悉的JWT认证不同,Sanctum在SPA场景下不需要前端手动存储、携带令牌字符串,而是依赖浏览器自动发送的会话Cookie完成身份校验,这也是它简化SPA认证流程的关键设计。
快速验证方法
你可以做个简单测试确认:
- 通过web登录页面完成登录(走
auth中间件的路由) - 直接调用带有
auth:sanctum中间件的API接口(比如/api/user) - 接口会返回当前登录用户的信息,说明认证已生效
内容的提问来源于stack exchange,提问作者Max Pattern
相关产品推荐
相关产品推荐

