Пример #1
0
 /**
  * 
  * @param Irto\OAuth2Proxy\ProxyRequest $request
  * @param Closure $next
  * 
  * @throws Exception
  * 
  * @return Irto\OAuth2Proxy\ProxyRequest
  */
 public function request($request, Closure $next)
 {
     $token = $request->headers()->get('x-xsrf-token');
     $config = $this->server['config']['session'];
     var_dump($token, $request->headers()->all());
     if (!$token || $token != $request->session()->token()) {
         $cookie = new Cookie('XSRF-TOKEN', $request->session()->token(), Carbon::now()->addMinutes($config['lifetime']), '/', null, false, false);
         $request->futureResponse()->setCookie($cookie);
         throw new TokenMismatchException();
     } else {
         $response = $next($request);
     }
     return $response;
 }
Пример #2
0
 /**
  * Change data watchers to work in api credentials to send to api server
  * 
  * @param Irto\OAuth2Proxy\ProxyRequest $request
  * 
  * @return void
  */
 protected function proxyContent($request)
 {
     $original = $request->originRequest();
     $data = $request->getBufferClean();
     $this->bufferData($data);
     $original->removeAllListeners('data');
     if ($this->bufferLength() == (int) $request->headers()->get('content-length')) {
         $request->write($this->getDataEnd(true));
     } else {
         $original->on('data', function ($data) use($request, $original) {
             $this->bufferData($data);
             if ($this->bufferLength() == (int) $request->headers()->get('content-length')) {
                 $request->write($this->getDataEnd(true));
             }
         });
     }
 }