未授权的Laravel api路由
我的开发环境中安装了Laravel passport。我注意到,无论我是否登录,我的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:
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();
});
});