我按照官方JWT-Auth安装https://github.com/tymondesigns/jwt-auth/wiki/Installation。
我现在在我的控制器中有一个中间件:
$this->middleware('jwt-auth', ['only' => ['postChange', 'postChoose']]);
我还在Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class
config/app.php
但是当我向API发出请求时,我收到以下错误消息:
ReflectionException in Container.php line 737:
Class jwt-auth does not exist
任何帮助都将受到赞赏。
答案 0 :(得分:12)
我在使用中间件时遇到同样的问题,你必须在app/Http/Kernel.php
属性$routeMiddleware
下注册它们:
protected $routeMiddleware = [
...
'jwt.auth' => 'Tymon\JWTAuth\Middleware\GetUserFromToken',
'jwt.refresh' => 'Tymon\JWTAuth\Middleware\RefreshToken',
];
答案 1 :(得分:2)
我遇到了同样的问题,结果是在路径的开头需要“\”(与其他中间件条目类似):
'jwt.auth' => \Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class
这解决了我的问题(Laravel 5.1.4)
答案 2 :(得分:1)
我一直面临类似的问题。 你必须准确添加
protected $routeMiddleware = [
.......
'jwt.auth' => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class,
];
在开头记住“\”。
Laravel 5.2