$modx - user установить вручную

Всем привет.

Занимаюсь интеграцией собственной мини.crm на modx с битрикс.24 crm.

Вопрос связан с авторизацией. Сделал плагин, который при доступе из crm автоматически авторизовывает юзера или создает нового по данным из CRM.

Но вот беда, modx хранит токен сессии (с авторизацией в том числе) в cookie. В браузере все работает разумеется, но в мобильном приложении cookie вовсе не работают. (за исключением загадочного cookie от currencyrate, загадочный, потому что я не нашел факт установки его в исходниках, может автор подскажет, как он ставит свой cookie, который единственный работает в моб. приложении).

Собственно вопрос, как я могу принудительно впихнуть id текущего пользователя, чтобы базовые процессоры modx определяли юзера таким, каким я его укажу при инициализации страницы.

$modx->user->set('id',999); // Не работает. Но надо что-то типа такого варианта
g0dzilla
g0dzilla
29 ноября 2017, 09:38
modx.pro
2 018

Комментарии: 4

PG
PG
29 ноября 2017, 14:54
А если так попробовать?
$modx->user = $modx->getObject('modUser', array(
	'username' => 'ИМЯпользователя'
	));
Василий Наумкин
29 ноября 2017, 15:38
но в мобильном приложении cookie вовсе не работают
А это уж от мобильного приложения зависит.

Например, mxManager управляет сайтами на MODX и авторизуется через админку — и проблем с куками и сессиями там нет, потому что всю эту работу на себя берёт библиотека Alamofire.

А вообще
if ($user = $modx->getObject('modUser', 15)) {
	$modx->user = $user;
	$modx->user->addSessionContext('web');
	$modx->getUser('web', true);
}
    g0dzilla
    29 ноября 2017, 16:10
    Нет Василий, у вас проблем с куками нет, потому что руки у Вас из нужного места растут, в отличии от авторов мобильного приложения B24.

    А вообще, такая проблема с куками наблюдается и с моб. приложениями вконтакте, и с одноклассниками (гугл поведал).

    За код спасибо, работает
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4