public function findCursor(Query $query)
 {
     $current = $this->request->query('cursor');
     $limit = $this->request->query('limit') ?: 10;
     if ($current) {
         $query->where(['id >' => $current]);
     }
     $query->limit($limit);
     return $query;
 }
 public function getUser(Request $request)
 {
     try {
         $this->Server->isValidRequest(true, $request->query('access_token'));
         $ownerModel = $this->Server->getAccessToken()->getSession()->getOwnerType();
         $ownerId = $this->Server->getAccessToken()->getSession()->getOwnerId();
         $event = new Event('OAuthServer.getUser', $request, [$ownerModel, $ownerId]);
         EventManager::instance()->dispatch($event);
         if ($event->result) {
             return $event->result;
         } else {
             $model = TableRegistry::get($ownerModel);
             return $model->get($ownerId)->toArray();
         }
     } catch (OAuthException $e) {
         $this->_exception = $e;
         return false;
     }
 }
 /**
  * Test the query() method with arrays passed via $_GET
  *
  * @return void
  */
 public function testQueryWithArray()
 {
     $get['test'] = ['foo', 'bar'];
     $request = new Request(['query' => $get]);
     $result = $request->query('test');
     $this->assertEquals(['foo', 'bar'], $result);
     $result = $request->query('test.1');
     $this->assertEquals('bar', $result);
     $result = $request->query('test.2');
     $this->assertNull($result);
 }
 /**
  * Get token from header or query string.
  *
  * @param \Cake\Network\Request $request Request object.
  * @return string|bool Token string if found else false.
  */
 protected function _getToken($request)
 {
     $token = $request->env('HTTP_AUTHORIZATION');
     // @codeCoverageIgnoreStart
     if (!$token && function_exists('getallheaders')) {
         $headers = getallheaders();
         if (isset($headers['Authorization']) && substr($headers['Authorization'], 0, 7) === 'Bearer ') {
             $token = $headers['Authorization'];
         }
     }
     // @codeCoverageIgnoreEnd
     if ($token) {
         return substr($token, 7);
     }
     if (!empty($this->_config['parameter']) && isset($request->query[$this->_config['parameter']])) {
         $token = $request->query($this->_config['parameter']);
     }
     return $token ? $token : false;
 }
Exemple #5
0
 /**
  * Get the api key from the querystring
  *
  * @param Request $request request
  * @return string api key
  */
 public function querystring(Request $request)
 {
     $name = $this->config('name');
     return $request->query($name);
 }
 /**
  * Get token from header or query string.
  *
  * @param \Cake\Network\Request|null $request Request object.
  * @return string|null Token string if found else null.
  */
 public function getToken($request = null)
 {
     $config = $this->_config;
     if (!$request) {
         return $this->_token;
     }
     $header = $request->header($config['header']);
     if ($header) {
         return $this->_token = str_ireplace($config['prefix'] . ' ', '', $header);
     }
     if (!empty($this->_config['parameter'])) {
         $token = $request->query($this->_config['parameter']);
     }
     return $this->_token = $token;
 }
 /**
  * Get token from header or query string.
  *
  * @param \Cake\Network\Request $request Request object.
  * @return string|bool Token string if found else false.
  */
 protected function _getToken($request)
 {
     $token = $request->env('HTTP_AUTHORIZATION');
     // @codeCoverageIgnoreStart
     if (!$token && function_exists('getallheaders')) {
         // index of the array returned by the function getallheaders() is case-insensitive.
         // @see http://php.net/manual/en/function.getallheaders.php#52029
         $headers = array_change_key_case(getallheaders());
         if (isset($headers['authorization']) && substr($headers['authorization'], 0, 7) === 'Bearer ') {
             $token = $headers['authorization'];
         }
     }
     // @codeCoverageIgnoreEnd
     if ($token) {
         return substr($token, 7);
     }
     if (!empty($this->_config['parameter']) && isset($request->query[$this->_config['parameter']])) {
         $token = $request->query($this->_config['parameter']);
     }
     return $token ? $token : false;
 }
 /**
  * Get the prev cursor value.
  *
  * @return mixed
  */
 public function getPrev()
 {
     return $this->request->query('previous');
 }
 /**
  * Get token from header or query string.
  *
  * @param \Cake\Network\Request|null $request Request object.
  *
  * @return string|null Token string if found else null.
  */
 public function getToken($request = null)
 {
     $config = $this->_config;
     if (!$request) {
         return $this->_token;
     }
     // $header = $request->header($config['header']);
     $header = isset(getallheaders()['Authorization']) ? getallheaders()['Authorization'] : null;
     if ($header) {
         return $this->_token = str_ireplace($config['prefix'] . ' ', '', $header);
     }
     if (!empty($this->_config['parameter'])) {
         $token = $request->query($this->_config['parameter']);
     }
     return $this->_token = $token;
 }