Доброго времени суток.
Работаю над двуязычным сайтом, соответственно есть 2 контекста - web и en.
hybridauth вызываю так [[!HybridAuth? &providers=`Vkontakte` &addContexts=`en,web`]]
В контексте web авторизация работает без проблем, в контексте en происходит запрос к провайдеру и возврат на сайт, но авторизации не происходит.
Первым делам начал копать правильность настройки контекстов и свой плагин для их переключения. Все безрезультатно.
Затем, для чистоты эксперимента залез в index.php в корне сайта и попробовал проинициализировать контекст en оттуда - авторизация работала как надо.
Далее попробовал переключать контекст из index.php, и проблема локализовалась. Сейчас ситуация такая:
авторизация работает
/* Initialize the default 'web' context */
$modx->initialize('web');
тоже работает
/* Initialize the default 'web' context */
$modx->initialize('en');
не работает
/* Initialize the default 'web' context */
$modx->initialize('web');
$modx->switchContext('en');
внезапно работает!
/* Initialize the default 'web' context */
$modx->initialize('web');
$modx->switchContext('en');
$modx->switchContext('web');
Из чего делаю вывод, что от чего то hybridauth работает только в проинициализированном контексте, а нужно иметь возможность переключать его из плагина вызовом $modx->switchContext()
Ломаю голову второй день! Спасайте!
[ed. note: aliasnameless last edited this post 10 years, 9 months ago.]