我试图用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'的示例