Api路由未返回“未授权访问”;错误


laravel 5.3 Api routes not returning "unauthorized access" error.

我试图用laravel 5.3创建一个api,我刚刚创建了一个新的新鲜 laravel 5.3项目,并将以下路由添加到routes/api.php文件。

Route::get('/',function(){
    return view('welcome');
});

当我在浏览器上点击这个url http://localhost/api/时,我被导航到应用程序的默认laravel主页。

现在我的问题是,当我试图访问api.php文件中的路由而不传递令牌时,我不应该得到"未经授权的访问"错误吗?为什么laravel让我导航到api路由,即使我没有传递令牌?

注意:我还没有在项目中添加laravel passport或任何其他oAuth库

不,Laravel在定义这样的路由时默认不检查这些。这是一件好事,因为在某些情况下,您提供的信息可能不需要用户发送crsf令牌或身份验证。

你想要的是在路由中使用中间件。看看这里:https://laravel.com/docs/5.3/middleware

这将在某些路由或路由组上使用指定的中间件,如'auth'。例如

Route::group(['middleware' => ['auth']], function () {
    Route::post('profile', 'ProfileController@create');
    ....
}

参见middlewareGroups 'web'的示例