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

Laravel 9 中 Tymon\JWTAuth BaseMiddleware 类找不到问题求助

解决Laravel 9中tymon/jwt-auth 2.x自定义中间件的类不存在与废弃问题

问题根源

tymon/jwt-auth 2.x版本后期对命名空间结构做了调整,原Http\Middleware下的类已被标记为废弃,同时BaseMiddleware的命名空间有明确的位置规范,你遇到的问题主要是依赖版本或自动加载异常导致的类找不到,以及对废弃类的误用。

分步解决方案

  1. 确保依赖为最新2.x版本
    执行以下命令更新依赖,避免使用过时的2.x分支版本:

    composer update tymon/jwt-auth
    
  2. 更新Composer自动加载
    若类找不到的提示依然存在,执行自动加载更新命令,修复命名空间映射问题:

    composer dump-autoload
    
  3. 正确引入BaseMiddleware
    在自定义中间件中,使用正确的命名空间引入BaseMiddleware:

    use Tymon\JWTAuth\Middleware\BaseMiddleware;
    
  4. 自定义Customer中间件的正确写法
    继承BaseMiddleware并实现业务逻辑,示例代码如下:

    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Tymon\JWTAuth\Middleware\BaseMiddleware;
    use Tymon\JWTAuth\Exceptions\TokenExpiredException;
    use Tymon\JWTAuth\Exceptions\TokenInvalidException;
    use Tymon\JWTAuth\Exceptions\JWTException;
    
    class CustomerMiddleware extends BaseMiddleware
    {
        public function handle($request, Closure $next)
        {
            try {
                // 解析Token并验证用户身份
                $user = $this->auth->parseToken()->authenticate();
            } catch (TokenExpiredException $e) {
                return response()->json(['message' => '登录凭证已过期'], 401);
            } catch (TokenInvalidException $e) {
                return response()->json(['message' => '无效的登录凭证'], 401);
            } catch (JWTException $e) {
                return response()->json(['message' => '请提供登录凭证'], 400);
            }
    
            // 将用户实例绑定到请求中
            $request->setUserResolver(fn () => $user);
    
            return $next($request);
        }
    }
    
  5. 替换废弃的中间件类
    原Http\Middleware下的所有类均已废弃,如需使用官方中间件(如认证中间件),改用Tymon\JWTAuth\Middleware命名空间下的类,例如:

    use Tymon\JWTAuth\Middleware\Authenticate;
    

额外检查

若之前未发布过jwt配置文件,执行以下命令生成config/jwt.php,确保配置完整:

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:42:44