Добрый день.
Понадобилась нам внешняя авторизация. Повесили обработчики на OnUserLoginExternal и OnExternalAuthList. Все заработало.
Тока одна проблема: для работы с новыми пользователями подписались еще на OnAfterUserRegister, и на основании этих данных заводим пользователя в своей внутренней системе, но вот этому самому новому пользователю не удается поставить внешнюю авторизацию, так же не удается поставить дополнительное поле, которое содержит id в нашей внутренней системе.
код примерно такой:
function OnAfterUserRegisterHandler(&$arFields)
{
if($arFields["USER_ID"]<=0)
return;
//запрос на регистарцию пользователя в нашей системе, в результате имеем $id
$id = .....
$arFields['EXTERNAL_AUTH_ID']= 'Extern';
$oUser = new CUser();
$oUser->Update($arUser["ID"], Array('EXTERNAL_AUTH_ID'=>'Extern'));
$arFields["UF_*"] = $id;
$oUser->Update($arUser["ID"], Array("UF_*" => $id);
}
не подскажите в чем дело может быть?