From 47011702121410b3b329817fbe44caabc3884fd9 Mon Sep 17 00:00:00 2001 From: Mike Date: Tue, 8 Sep 2020 23:53:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8middleware=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0=EF=BC=8Crequest=E6=9C=89?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E8=B0=83=E7=94=A8=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Middleware/CorsMiddleware.php | 29 +++++++++++++++++++++++++++++ config/autoload/dependencies.php | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/app/Middleware/CorsMiddleware.php b/app/Middleware/CorsMiddleware.php index 7fb6495..45479a6 100644 --- a/app/Middleware/CorsMiddleware.php +++ b/app/Middleware/CorsMiddleware.php @@ -29,6 +29,35 @@ class CorsMiddleware implements MiddlewareInterface return $response; } + $request = \Hyperf\Utils\Context::override(ServerRequestInterface::class, function (ServerRequestInterface $request) + { + $preDatas = $request->getParsedBody(); + if(isset($preDatas['market_id'])){ + if($preDatas['market_id']==-1){ + $preDatas['market_id'] = 0; + + if (env('APP_ENV') == 'prod') { + unset($preDatas['sign']); + $sign = $this->signature($preDatas); + $preDatas['sign'] = $sign; + } + } + } + return $request->withParsedBody($preDatas); + }); + return $handler->handle($request); } + + private function signature($params) + { + ksort($params); + + $http_query = []; + foreach ($params as $key => $value) { + $http_query[] = $key.'='.$value; + } + + return sha1(md5(implode('&', $http_query)).config('auth.api.sign.secret_key')); + } } \ No newline at end of file diff --git a/config/autoload/dependencies.php b/config/autoload/dependencies.php index 949ae87..0ef5778 100644 --- a/config/autoload/dependencies.php +++ b/config/autoload/dependencies.php @@ -11,7 +11,7 @@ declare(strict_types=1); */ return [ - \Hyperf\HttpServer\Contract\RequestInterface::class => \App\Commons\LanzuRequest::class, + // \Hyperf\HttpServer\Contract\RequestInterface::class => \App\Commons\LanzuRequest::class, \App\Service\ServiceEvaluateServiceInterface::class => \App\Service\ServiceEvaluateService::class, \App\Service\AttachmentServiceInterface::class => \App\Service\AttachmentService::class, \App\Service\ParamsTokenServiceInterface::class => \App\Service\ParamsTokenSsdbService::class,