• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/lib/catalog/catalogwebhookhandler.php
  • Класс: BitrixSeoCatalogCatalogWebhookHandler
  • Вызов: CatalogWebhookHandler::verifyRequest
private function verifyRequest() : Result
{
	$result = new Result();

	$authToken = $this->request->getHeader('Authorization');
	if (!$authToken)
	{
		$authToken = BitrixMainContext::getCurrent()->getServer()->get('REMOTE_USER');
	}
	if (!$authToken)
	{
		$result->addError(new Error('wrong request'));
		return $result;
	}

	$authToken = substr($authToken, strlen('Bearer '));
	$engineClientSecret = $this->engine->getClientSecret();
	$authTokenSalt = mb_substr($authToken, 0, 8);
	$isAllowedToken = $authToken === $authTokenSalt . md5($authTokenSalt . $engineClientSecret);
	if (!$isAllowedToken)
	{
		$result->addError(new Error('Invalid client credentials'));
	}

	return $result;

}