这是我的情景:
我们需要在存储它们的同一个Web应用程序中使用一些Laravel API方法。 (我使用的是Laravel 5.5) 我有使用Bearer Token的第三部分应用程序使用的api路由,并且工作就像一个魅力。 所以,我创建了其他没有使用的路线组#api:auth"中间件,但" auth"一个(" web"中间件添加)。
RouteService提供程序初始化(" map"中调用的方法):
protected function mapWebApiRoutes() {
Route::prefix('web_api')
->middleware('web')
->as('web_api.')
->namespace($this->namespace."\\API")
->group(base_path('routes/web_api.php'));
}
路线声明:
Route::group(['prefix' => 'v1', 'middleware' => ["auth"]], function () {
// routes....
});
所以,如果我运行" php artisan route:list",它会输出如下路线:
GET|HEAD | web_api/v1/controller | web_api. | ...\API\Controller@index | web,auth
POST | web_api/v1/controller/lists | web_api. | ...\API\Controller@lists | web,auth
我添加了 VerifyCsrfToken 的路由,但数组除外:
protected $except = [
"web_api/*"
];
使用GET方法的路由以及用户在我们的平台上登录时(通过身份验证中间件)可以正常工作,但POST路由会返回此机构未经授权的错误:
{message: "Unauthenticated."}
问题:
考虑到我已经从CSRF验证中排除了这些路线,有人可以向我解释这个错误是由什么引起的?