| 1234567891011121314151617181920212223242526272829303132333435 | 
							- <?php
 
- namespace app\admin\middleware;
 
- use Webman\Http\Request;
 
- use Webman\Http\Response;
 
- use Webman\MiddlewareInterface;
 
- /**
 
-  * 接口签名中间件
 
-  * Class SignAuthMiddleware
 
-  * @package app\admin\middleware
 
-  */
 
- class SignAuthMiddleware implements MiddlewareInterface
 
- {
 
-     public function process(Request $request, callable $handler) : Response
 
-     {
 
-         try {
 
-             $sign = $request->header('sign');
 
-             if(!$sign){
 
-                 throw new \Exception('签名不能为空!', 500);
 
-             }
 
-             $token  = $request->header('Authorization', '');
 
-             $data   = $request->all();
 
-             $string = KsortAscll($data);
 
-             $mySign = strtoupper(md5($string . $token . config('app')['sign_key']));
 
-             if($mySign != $sign)
 
-             {
 
-                 throw new \Exception('签名错误!' . $string . $token . config('app')['sign_key'], 500);
 
-             }
 
-             return $handler($request);
 
-         }catch (\Exception $exception){
 
-             throw new \Exception($exception->getMessage(), $exception->getCode());
 
-         }
 
-     }
 
- }
 
 
  |