В общем удалось дебагером докопаться для проблемы, возможно кому то пригодится.
Пару фактов. Битрикс имеет модульную структуру. В битриксе есть модуль REST Api.
При установке модуля можно зарегистрировать обработчики событий. При установке, в данном случае REST Api, регистрирует обработчики для разных вариантов авторизации
if(!\Bitrix\Main\ModuleManager::isModuleInstalled("oauth"))
{
$eventManager->registerEventHandler("rest", "onRestCheckAuth", "rest", "\\Bitrix\\Rest\\OAuth\\Auth", "onRestCheckAuth");
}
$eventManager->registerEventHandler("rest", "onRestCheckAuth", "rest", "\\Bitrix\\Rest\\APAuth\\Auth", "onRestCheckAuth");
$eventManager->registerEventHandler("rest", "onRestCheckAuth", "rest", "\\Bitrix\\Rest\\SessionAuth\\Auth", "onRestCheckAuth");
которые потом при обращении к api и проверке перебираются в цикле и авторизуют в зависимости от параметров запроса.
foreach(GetModuleEvents('rest', 'OnRestCheckAuth', true) as $eventHandler)
{
$eventResult = ExecuteModuleEventEx($eventHandler, array($query, $scope, &$res));
if($eventResult !== null)
{
return $eventResult;
}
}
Обращаем внимание что для регистрации обработчика авторизации через oAuth идет проверка на наличие установленного модуля
if(!\Bitrix\Main\ModuleManager::isModuleInstalled("oauth"))
{
$eventManager->registerEventHandler("rest", "onRestCheckAuth", "rest", "\\Bitrix\\Rest\\OAuth\\Auth", "onRestCheckAuth");
}
Так вот получается что на момент установки модуля Rest его не было потому событие не зарегистрировало.
По хорошему помогла бы переустановка модуля Rest, но в битрикс24 коробка у него жесткие зависимости и этого сделать нельзя не удалив пол портала.
Пришлось руками зарегистрировать обработчик и все заработало.
Вывод - код битрикс как всегда на высоте, в деле создания проблем на ровном месте.