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“类cors不存在”错误

使用 laravel-cors 和 axios 进行 POST 的 Laravel “CSRF 令牌不匹配”

JWT Auth 令牌适用于 Homestead,但不适用于生产服务器

laravel cors“类cors不存在”错误

Laravel api路线与邮递员不工作