未授权的Laravel api路由

未授权的Laravel api路由,laravel,laravel-5,laravel-passport,Laravel,Laravel 5,Laravel Passport,我的开发环境中安装了Laravel passport。我注意到,无论我是否登录,我的api路由都可以工作。我的一条路线的一个例子是 Route::get('/users', function () { return factory('App\User', 10)->make(); }); 由于它位于api路由中,是否应该使用api中间件自动对其进行身份验证?但是为了保护路由,不需要使用注册路由后声明的中间件 即: 要使用经过身份验证的路由,您应该修改路由,如下所示 Route:

我的开发环境中安装了Laravel passport。我注意到,无论我是否登录,我的api路由都可以工作。我的一条路线的一个例子是

Route::get('/users', function () {
    return factory('App\User', 10)->make();
});

由于它位于api路由中,是否应该使用api中间件自动对其进行身份验证?

但是为了保护路由,不需要使用注册路由后声明的中间件

即:


要使用经过身份验证的路由,您应该修改路由,如下所示

Route::get('/users', function () {
    return factory('App\User', 10)->make();
})->middleware('auth');
此外,如果未使用默认用户类,请修改config/auth.php文件

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\{your User class name}::class,
        ],

您可能需要在
/app/Http/Kernel.php

例如:

protected $middlewareGroups = [
    'web' => [
      ...
    ],
    'api' => [
        'throttle:60,1',
        'bindings',
        'auth:api',
    ],
];
和作用域如果要使用令牌作用域:

'scopes' => \Laravel\Passport\Http\Middleware\CheckScopes::class,
'scope' => \Laravel\Passport\Http\Middleware\CheckForAnyScope::class,
完整文件示例:

您应该尝试以下方法:

Route::group(['middleware' => 'auth:api'], function() {
    Route::get('/users', function () {
       return factory('App\User', 10)->make();
    });

});

@约翰·弗里德曼:谢谢你的支持,如果我的答案是“为你工作”,那么请自由填写以接受我的答案
Route::group(['middleware' => 'auth:api'], function() {
    Route::get('/users', function () {
       return factory('App\User', 10)->make();
    });

});