【问题标题】:barryvdh/laravel-cors not working for my routesbarryvdh/laravel-cors 不适用于我的路线
【发布时间】: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']] 吗?
  • 不,但我不明白这是怎么回事?
  • 不幸的是没有工作
  • 您将什么归类为“工作”?在您的护照路线上?
  • 同,它不添加任何标题

标签: php laravel laravel-5 cors laravel-routing


【解决方案1】:

我已经阅读了 CORS 中间件的全部代码。根据 RFC,它只会在以下情况下添加标头:

  1. 请求是飞行前请求 (OPTIONS)
  2. 该请求有一个 Origin 标头,而不是您的 API 所在的标头。
  3. 根据 CORS 配置,允许尝试加入您的 API 的远程主机。

确保发布 CORS 配置并根据需要对其进行编辑。

See the source

【讨论】:

    猜你喜欢
    • 2018-05-07
    • 2014-06-01
    • 2015-09-30
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 2020-05-16
    相关资源
    最近更新 更多