barryvdh/laravel-cors 不适用于我的路线
Posted
技术标签:
【中文标题】barryvdh/laravel-cors 不适用于我的路线【英文标题】:barryvdh/laravel-cors not working for my routes 【发布时间】:2017-04-20 02:18:06 【问题描述】:我正在使用 [this laravel-cors package][1],我已阅读文档并将服务提供者添加到 config/app.php
。
像这样将中间件添加到kernel.php
之后:
protected $middleware = [
\Barryvdh\Cors\HandleCors::class,
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
它适用于我的护照路线,但不适用于我自己的路线。
护照路线
Route::group([
'middleware' => ['api']
], function ($router)
Passport::routes();
Passport::tokensExpireIn(Carbon::now()->addDays(15));
Passport::refreshTokensExpireIn(Carbon::now()->addDays(30));
);
我的路线
Route::group(['middleware' => ['auth:api']], function ()
Route::resource('answers', 'AnswersController');
);
【问题讨论】:
你在routes.php
中试过['middleware' => ['api']]
吗?
不,但我不明白这是怎么回事?
不幸的是没有工作
您将什么归类为“工作”?在您的护照路线上?
同,它不添加任何标题
【参考方案1】:
我已经阅读了 CORS 中间件的全部代码。根据 RFC,它只会在以下情况下添加标头:
-
请求是飞行前请求 (OPTIONS)
该请求有一个
Origin
标头,而不是您的 API 所在的标头。
根据 CORS 配置,允许尝试加入您的 API 的远程主机。
确保发布 CORS 配置并根据需要对其进行编辑。
See the source
【讨论】:
以上是关于barryvdh/laravel-cors 不适用于我的路线的主要内容,如果未能解决你的问题,请参考以下文章
barryvdh/laravel-cors 配置在 Laravel 5.6 中不起作用;忽略'allowedMethods'
使用 laravel-cors 和 axios 进行 POST 的 Laravel “CSRF 令牌不匹配”