Php 护照验证在laravel 5.3中不起作用
我已根据以下文件使用passport设置了Laravel: 我已经在API route和send request中编写了一个路由Php 护照验证在laravel 5.3中不起作用,php,laravel,laravel-routing,laravel-5.3,laravel-passport,Php,Laravel,Laravel Routing,Laravel 5.3,Laravel Passport,我已根据以下文件使用passport设置了Laravel: 我已经在API route和send request中编写了一个路由http://localhost/laravel_project/public/api/user使用邮递员,但它会显示以下错误: RouteCollection.php第161行中的NotFoundHttpException: 我有以下路径(在routes/api.php中): 但当我删除路由中的->中间件('auth:api')行时,它对我来说运行良好 我怎样才能解
http://localhost/laravel_project/public/api/user
使用邮递员,但它会显示以下错误:
RouteCollection.php第161行中的NotFoundHttpException:
我有以下路径(在routes/api.php中):
但当我删除路由中的->中间件('auth:api')
行时,它对我来说运行良好
我怎样才能解决这个问题
另外,请告诉我,如果我不想在我的某些路线中添加passport身份验证,我该怎么做?在您的
路线/api.php
中,您可以这样做:
Route::group(['middleware' => 'auth:api'], function(){
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven"
);
});
});
您在此组中定义的所有路由都将具有auth:api
中间件,因此需要passport身份验证才能访问它
在这个组之外,您可以放置不需要身份验证的api路由
编辑:为了确保路由确实存在于所需的中间件中,请运行
php artisan route:list
我遇到了同样的问题,您似乎必须将Accept头指定为application/json
,如Matt Stauffer所示
一些进一步的说明:
/login
,但可能您还没有完成PHP artisanmake:auth
,因此它找不到登录路径Route::group
和auth:api
作为中间件对它们进行分组即可但我还是得到了错误:在RouteCollection.php第161行中的NotFoundHttpException:@OkFuzzle运行
php artisan route:list
时会发生什么?该路由以api和auth:api作为中间件出现在列表中?我在我的项目中使用了Laravel 5.3和passport,它为我工作。当我运行这个命令php artisan route:list时,它向我显示了方法:GET | HEAD,URI:api/user,Atcion:Closure和Middleware:api,auth:api,我正试图通过这个带有头的url在邮递员中点击api。内容类型:application/json我在routes/api.php中只有一个路由,这在上面的问题中提到过,这可能就是问题所在。您能告诉我您是如何发送带有令牌的API请求的吗?@Okman可能是邮递员的问题,而不是您的路线的问题?正如artisan所说,您的路由是存在的,因此您的路由定义似乎没有问题,也许您试图如何访问它。在《邮差》中,当我删除此->中间件('auth:api')时,它对我有用
Route::group(['middleware' => 'auth:api'], function(){
Route::get('/user', function (Request $request) {
return array(
1 => "John",
2 => "Mary",
3 => "Steven"
);
});
});