我试图用laravel 5.3创建一个api,我刚刚创建了一个新的 Laravel 5.3 项目,并将以下路由添加到 routes / api.php 文件。
Route::get('/',function(){
return view('welcome');
});
当我在浏览器上点击此网址 http://localhost/api/ 时,我被导航到我的应用程序的默认laravel主页。
现在我的问题是,我不应该获得"未经授权的访问"我尝试访问 api.php 文件中的路由而不传递令牌时出错?即使我没有传递令牌,为什么laravel让我导航到api路线?
注意:我还没有在项目中添加laravel passport或任何其他oAuth库。
答案 0 :(得分:1)
不,在定义这样的路线时,Laravel默认不会检查这些。这是一件好事,因为在某些情况下您可能无需用户发送crsf令牌或进行身份验证即可提供信息。
您想要的是在您的路线中使用中间件。看看这里:https://laravel.com/docs/5.3/middleware
这将在某些路由或路由组上使用指定的中间件,如“auth”。即。
Route::group(['middleware' => ['auth']], function () {
Route::post('profile', 'ProfileController@create');
....
}
另请参阅包含middlewareGroups'web'
的页面上的示例