未定义身份验证防护[:api]?

时间:2019-10-18 15:42:18

标签: php laravel api laravel-passport

当我使用auth api gaurd登出路由时。我正面临以下异常

未定义身份验证防护[:api]

我已经实现了注册登录Apis,但是我遇到了我使用auth :: api保护过的注销api的错误

config.auth文件



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

        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
        ],
    ],

api.php


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

    Route::post('login','AuthController@login');
    Route::post('signup','AuthController@signup');

    Route::group(['middleware' => 'auth::api'], function () {
            Route::get('logout','AuthController@logout');
            Route::get('user','AuthController@user');
    });
});

我应该可以注销用户

1 个答案:

答案 0 :(得分:0)

您的代码中有一个多余的冒号,这就是为什么它试图找到保护clearTimeout(timeouts[clientUsername]); 的原因。

根据docs

  

在通过以下方式定义路由时可以指定中间件参数   用:分隔中间件名称和参数。多   参数应以逗号分隔:

:api

因此,您的情况应该是:

Route::put('post/{id}', function ($id) {
    //
})->middleware('role:editor');