fix 跨域

This commit is contained in:
Dai 2024-07-23 21:12:35 +08:00
parent 4df073c506
commit 530a374218
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,28 @@
<?php
namespace app\middleware;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
class AccessControlMiddleware implements MiddlewareInterface
{
public function process(Request $request, callable $handler) : Response
{
// 如果是options请求则返回一个空响应否则继续向洋葱芯穿越并得到一个响应
$response = $request->method() == 'OPTIONS' ? response('') : $handler($request);
// 给响应添加跨域相关的http头
$response->withHeaders([
'Access-Control-Allow-Credentials' => 'true',
'Access-Control-Allow-Origin' => $request->header('origin', '*'),
'Access-Control-Allow-Methods' => $request->header('access-control-request-method', '*'),
'Access-Control-Allow-Headers' => $request->header('access-control-request-headers', '*'),
]);
return $response;
}
}

View File

@ -16,5 +16,6 @@ return [
// mch应用中间件
'api' => [
app\middleware\ApiAuthCheckMiddleware::class,
\app\middleware\AccessControlMiddleware::class
],
];