未定义身份验证防护驱动程序[api]

vis*_*ion 5 php jwt laravel laravel-5.3

我正在使用laravel 5.4并且正在使用jwt auth jwt版本是jwt-auth "tymon/jwt-auth": "0.5.*"

在auth.php我有

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
        ],
    ],
Run Code Online (Sandbox Code Playgroud)

在Api.php中,我有

 Route::post('/login','HomeController@authenticate');


Route::group(['prefix' => 'v2','middleware' => 'auth:api',], function () {

    // Authentication Routes...
   Route::get('/logout','HomeController@logout');
Route::get('/home','HomeController@home');

});
Run Code Online (Sandbox Code Playgroud)

当我从邮递员发布电子邮件和密码时,它将返回令牌。

当我尝试进入

http:// localhost / demo / public / api / v2 / home

和头,我通过了授权承载令牌

我在邮递员中遇到以下错误

哎呀,看起来出事了。(1/1)InvalidArgumentException未定义身份验证保护驱动程序[api]。在AuthManager.php(第99行)的AuthManager-> resolve('api')中AuthManager.php(第70行)的AuthManager-> guard('api')在Authenticate.php(第61行)的Authenticate-> authenticate( array('api'))

能帮我解决问题吗

我也检查了自其旧版本以来的以下问题Sep 27,2016 https://github.com/tymondesigns/jwt-auth/issues/860

小智 0

确保在您的 kernel.php 文件中声明了它

 protected $routeMiddleware = 
Run Code Online (Sandbox Code Playgroud)