Laravel9添加auth:api中间件报错:Illuminate\Auth\AuthManager不可调用
问题原因及解决办法
直接触发错误的原因
你写的中间件代码少了一个闭合括号,原代码:
$this->middleware('auth:api', ['except' => ['login','register']);
正确写法应该是:
$this->middleware('auth:api', ['except' => ['login','register']]);
语法错误导致PHP解析时逻辑混乱,误将Illuminate/Auth/AuthManager实例当成可调用函数,抛出了"Object of type Illuminate/Auth/AuthManager is not callable"的错误。
额外需要验证的配置(避免后续认证失败)
修复语法错误后,还要确认Laravel的认证守卫配置是否正确适配jwt-auth:
- 打开
config/auth.php - 找到
guards数组里的api项,确保driver设置为jwt,示例:
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'jwt', // 这里必须是jwt 'provider' => 'users', ], ],
内容的提问来源于stack exchange,提问作者Fidaali Vohra
相关产品推荐
相关产品推荐

