При обновлении пользователя (CUser::Update) и попытке сразу авторизовать его по ID (CUser::Authorize) — авторизация не срабатывает.
Решение: добавить CheckAuthActions() после Authorize().
$user = new \CUser();
$resultUpdate = $user->Update($userId, $filedsUpdate);
if ($resultUpdate) {
$user->Authorize($userId);
$user->CheckAuthActions(); // вся соль тут
}CheckAuthActions() завершает процесс авторизации — без него состояние сессии не обновляется.
