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

如何为Laravel的API路由添加Sanctum认证中间件?

解决API路由在Blade中无法获取认证用户的问题

要让API路由支持Blade中的认证功能,直接给orders路由组添加和Web路由一致的中间件即可——因为Blade模板依赖Web会话完成认证,API路由需要兼容这种会话认证逻辑。

修改api.php中的路由代码如下:

Route::prefix('orders')
    ->as('orders.')
    ->controller(OrderController::class)
    ->middleware(['auth:sanctum', config('jetstream.auth_session'), 'verified'])
    ->group(function(){
        Route::get('index', 'index')->name('index');
    });

关键说明

  • auth:sanctum:Laravel Sanctum中间件,同时支持API令牌认证和Web会话认证,适配你的混合路由场景。
  • config('jetstream.auth_session'):Jetstream的会话认证中间件,确保Web端的会话能被API路由识别。
  • verified:校验用户邮箱是否已激活,和Web路由保持一致的身份验证规则。

添加中间件后,在Blade中调用该API路由时,就能正常通过auth()->user()获取当前认证用户了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:03:37