src/DdvRestfulApi/Middleware/Laravel/AuthSession.php
public function handle($request, Closure $next)
    {
        if (empty($request->ddvHttpRequestInfo) || (!($request->ddvHttpRequestInfo instanceof RequestInfoInterface))) {
            RequestInfo::createHttpRequestInfo($request);
        }
        /**
         * @var RequestSignInfo $requestSignInfo
         */
        $requestSignInfo = new RequestSignInfo();
        /**
         * 设置请求信息
         */
        $requestSignInfo->createRequestInfo($request->ddvHttpRequestInfo);
        $requestSignInfo->setHeadersPrefix(config('ddvRestfulApi.headersPrefix'));

        $auth = new Auth();
        $auth->setRequestSignInfo($requestSignInfo);
        $auth->setConfig(array(
                'authDataDriver' => AuthDataSessionLaravelDriver::class,
                'authDataDriverConfig' => array(
                    'session' => $this
                )
            )
        );
        $auth->sign();

        // 开启会话

        // 如果已配置会话驱动程序，我们需要在此处启动会话
        // 以便数据为应用程序做好准备。 请注意Laravel会话
        // 不要以任何方式使用PHP“本机”会话，因为它们很糟糕。
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request, $auth->getAccessKeyId())
            );

            $this->collectGarbage($session);
        }

        // 开启项目
        $response = $next($request);
        // 保存会话
        $session->save();


        return $response;
    }
public function handle($request, Closure $next)
    {
        if (empty($request->ddvHttpRequestInfo) || (!($request->ddvHttpRequestInfo instanceof RequestInfoInterface))) {
            RequestInfo::createHttpRequestInfo($request);
        }
        /**
         * @var RequestSignInfo $requestSignInfo
         */
        $requestSignInfo = new RequestSignInfo();
        /**
         * 设置请求信息
         */
        $requestSignInfo->createRequestInfo($request->ddvHttpRequestInfo);
        $requestSignInfo->setHeadersPrefix(config('ddvRestfulApi.headersPrefix'));

        $auth = new Auth();
        $auth->setRequestSignInfo($requestSignInfo);
        $auth->setConfig(array(
                'authDataDriver' => AuthDataSessionLaravelDriver::class,
                'authDataDriverConfig' => array(
                    'session' => $this
                )
            )
        );
        $auth->sign();

        // 开启会话

        // 如果已配置会话驱动程序，我们需要在此处启动会话
        // 以便数据为应用程序做好准备。 请注意Laravel会话
        // 不要以任何方式使用PHP“本机”会话，因为它们很糟糕。
        if ($this->sessionConfigured()) {
            $request->setLaravelSession(
                $session = $this->startSession($request, $auth->getAccessKeyId())
            );

            $this->collectGarbage($session);
        }

        // 开启项目
        $response = $next($request);
        // 保存会话
        $session->save();


        return $response;
    }
处理传入的请求。

@param  \Illuminate\Http\Request  $request
@param  \Closure  $next
@return mixed