В методе Bitrix\Main\Security\CurrentUser::createFromArray(array $data)
есть проверка входного массива данных:
if (!isset($data["USER_ID"]) || !Main\Type\Int::isInteger($data["USER_ID"]))
throw new Main\ArgumentOutOfRangeException("data"); |
Во первых в системе нет класса Bitrix\Main\Type\Int - редакция стандарт, скачивал сегодня новую для проверки наличия этого класса там - не нашел.
Во вторых $data["USER_ID"] (по крайней мере из вызова \Bitrix\Main\Security\Authentication::getUserBySession() ) имеет тип string, соответственно всегда будет вылетать исключение.