- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/classes/general/rest.php
- Класс: CRestServer
- Вызов: CRestServer::processTokenCheckCall
protected function processTokenCheckCall()
{
$token = $this->query["token"];
[$this->scope, $queryString, $querySignature] = explode(CRestUtil::TOKEN_DELIMITER, $token);
$signature = $this->getTokenCheckSignature($this->method, $queryString);
if($signature === $querySignature)
{
$queryString = base64_decode($queryString);
$query = array();
parse_str($queryString, $query);
unset($query["_"]);
$callback = $this->getMethodCallback();
if(!$callback)
{
throw new RestException('Method not found!', RestException::ERROR_METHOD_NOT_FOUND, self::STATUS_NOT_FOUND);
}
$result = call_user_func_array($callback, array($query, $this->scope, $this));
return array("result" => $result);
}
else
{
throw new AccessException("Link check failed");
}
}