【问题标题】:Lumen - CORS missing allow origin but request suceed流明 - CORS 缺少允许来源但请求成功
【发布时间】:2021-12-13 21:36:00
【问题描述】:

我的应用 Lumen-VueJs 有问题

我发出请求,请求状态为 200,我收到了我想要的,但在“网络”上,请求被阻止。 ( 屏幕 )

我的应用上有一个类似的 CorsMiddleware,它也添加到 bootstrap/app.php 中

<?php

/**
 * Location: /app/Http/Middleware
 */
namespace App\Http\Middleware;

use Closure;

class CorsMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $headers = [
            'Access-Control-Allow-Origin' => '*',
            'Access-Control-Allow-Methods' => 'POST,GET,PATCH,PUT,DELETE,OPTIONS',
            'Access-Control-Max-Age' => '86400',
                        'Access-Control-Allow-Headers' => 'Content-Type,API-KEY'
                ];

        if ($request->isMethod('OPTIONS')) {
            return response()->json('', 200, $headers);
        }

        $response = $next($request);

        foreach ($headers as $key => $value) {
            $response->header($key, $value);
        }

        return $response;
    }
}

这些是我的请求的标题:

我不明白为什么会出现必须由我的中间件授权的错误

提前感谢您的帮助!

【问题讨论】:

  • 您能分享一下Transfert列中显示的消息吗?
  • 当然,消息是 CORS Missing Allow Origin ,请注意,如果我使用 POSTMAN 它可以正常工作而不会出现任何错误消息
  • 谢谢。当POSTing via Chrome 时,您能否检查您的回复是否包含您在代码中列出的所有标头?
  • 我在 Firefox 上,当我在 Chrome 上测试时,消息是:``Cross-Origin Resource Sharing error: MissingAllowOriginHeader`。在 Firefox 上,我收到了我需要的响应(不记名令牌),但在 Chrome 控制台上,响应为空
  • 我不是在谈论响应。在Headers 选项卡(我假设为En-têtes)中,列出了ResponseRequest 的哪些标头?在那里您可以检查您的标头是否实际发送,即您的中间件是否按预期工作。

标签: php vue.js lumen


【解决方案1】:

总结我们在聊天中的讨论,您的浏览器抱怨的问题是正确的。 Access-Control-Allow-Origin 标头未发送。

这是因为您的中间件没有被调用,因为您已将中间件添加到 $app-&gt;routeMiddleware 并使用密钥 cors。我假设没有称为cors 的路线。来自Lumen's GitHub

这些可以是在每个请求之前和之后运行的全局中间件 [$middleware] 到一个路由或将分配给某些特定路由 [$routeMiddleware] 的中间件。

由于所有请求都应调用 CORS 中间件,因此您需要将其添加到 $app-&gt;middleware

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 2020-12-29
    • 2021-11-16
    • 2022-07-26
    • 2018-07-28
    • 2021-11-10
    • 2021-12-19
    • 1970-01-01
    • 2015-03-09
    相关资源
    最近更新 更多