- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/exchange/integration/router.php
- Класс: BitrixSaleExchangeIntegrationRouter
- Вызов: Router::checkToken
protected function checkToken($accessToken, $refreshToken)
{
$r = new Result();
$restClient = new RestClientBase([
"accessToken" => $accessToken,
"refreshToken" => $refreshToken,
"endPoint" => Settings::getOAuthRestUrl()
]);
try
{
$response = $restClient->call("app.info"); //echo '';print_r($response);die;
}
catch (Exception $exception)
{
return $r->addError(new Error(Loc::getMessage("SALE_ROUTER_INTERNAL_SERVER_ERROR", ["#ERROR#"=>$exception->getMessage()])));
}
if (isset($response["error"]))
{
return $r->addError(new Error(Loc::getMessage("SALE_ROUTER_INTERNAL_SERVER_ERROR_AUHORIZATION",
['#DESCRIPTION#'=>$response["error_description"], '#ERROR#'=>$response["error"]])
));
}
else if (!isset($response["result"]))
{
return $r->addError(new Error(Loc::getMessage("SALE_ROUTER_INTERNAL_SERVER_ERROR_WRONG_RESPONSE")));
}
$token = Token::getToken([], (new AppIntegrationB24())->getCode());
if(is_null($token))
{
return $r->addError(new Error(Loc::getMessage("SALE_ROUTER_INTERNAL_SERVER_ERROR_TOKEN_IS_NULL")));
}
if($token->getPortalId() !== $response['result']['install']['member_id'])
{
return $r->addError(new Error(Loc::getMessage("SALE_ROUTER_INTERNAL_SERVER_ERROR_TOKEN_IS_COMPROMISED")));
}
return $r;
}