| 123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace App\Http\Middleware;
- use Closure;
- use Illuminate\Auth\Middleware\Authenticate as Middleware;
- class ApiSign extends Middleware
- {
- /**
- * 执行句柄
- * @param \Illuminate\Http\Request $request
- * @param Closure $next
- * @param mixed ...$guards
- * @return mixed
- * @throws \Illuminate\Auth\AuthenticationException
- * @since 2020/8/31
- * @author wesmiler
- */
- public function handle($request, Closure $next, ...$guards)
- {
- // 接口验证
- $params = $request->except('s');
- $key = $request->header('sign');
- if(empty($key)){
- $key = isset($params['key'])? $params['key'] : '';
- }
- if($key){
- $data = api_decrypt($key);
- $request->merge($data!=NULL && !empty($data)?$data: []);
- }
- //如果已登录则执行正常的请求
- return $next($request);
- }
- }
|