Office - не проходит авторизация через емейл
При авторизации через СоцСистемы — все работает.
При попытке авторизации через емейл — получаю письмо, перехожу по ссылке и авторизация не происходит.
Хотя [[!+modx.user.username]] и показывает имя, officeAuth не выводит tplLogout.
Вызов:
При попытке авторизации через емейл — получаю письмо, перехожу по ссылке и авторизация не происходит.
Хотя [[!+modx.user.username]] и показывает имя, officeAuth не выводит tplLogout.
Вызов:
[[!officeAuth?
&providers=`Yandex,Google,Twitter,facebook*,Vkontakte,Mailru`
&tplLogin=`h.tpl.Office.auth.login`
&tplLogout=`h.tpl.Office.auth.logout`
&loginContext=`enc`
&addContexts=`web,sys`
&groups=`Посетитель`
]]
В чем может быть проблема?
*Meta, которой принадлежат facebook и instagram признана экстремистской в России
Комментарии: 7
Скорее всего, проблема в контекстах:
Причины я описывал вот тут. Нужно попробовать прописать в своём плагине переключения контекста вот такое:
Если не поможет — пиши, буду мучать Office.
&loginContext=`enc`
&addContexts=`web,sys`
Причины я описывал вот тут. Нужно попробовать прописать в своём плагине переключения контекста вот такое:
$modx->switchContext('имя нужного контекста');
$modx->user = null;
$modx->getUser('имя нужного контекста');
Если не поможет — пиши, буду мучать Office.
Увы, не помогает. (
Помимо того должен быть редирект для заполнения имени, он не происходит.
Помимо того должен быть редирект для заполнения имени, он не происходит.
Значит, жди новую версию Office, буду разбираться.
Пробуем новую версию Office 0.9.1-rc.
Всё, что касается контекстов, переделано заново. Отдельно хранятся настройки, выставляются page_id, авторизоваться можно как сразу в несколько контекстов, так и независимо, только в определённый.
В общем, проверяй, и пиши, все ли работает.
P.S. Если используешь свой javascript вместо auth/default.js, то в нём нужно будет добавить отправку в запросе pageId — по нему определяется текущий контекст для генерации ссылок на вход и выход.
Как именно добавить, видно в родном default.js.
Всё, что касается контекстов, переделано заново. Отдельно хранятся настройки, выставляются page_id, авторизоваться можно как сразу в несколько контекстов, так и независимо, только в определённый.
В общем, проверяй, и пиши, все ли работает.
P.S. Если используешь свой javascript вместо auth/default.js, то в нём нужно будет добавить отправку в запросе pageId — по нему определяется текущий контекст для генерации ссылок на вход и выход.
Как именно добавить, видно в родном default.js.
Если документ с вызовом сниппета officeProfile находиться в контексте в который логинишься — все отлично работает. Если он находится в другом, при заходе с cсылки подтверждения получаем пустую страницу без ошибок в броузере. И ошибку в логе модыкса
[2013-09-26 20:14:00] (ERROR @ /assets/components/office/action.php) 1
[2013-09-26 20:14:41] (ERROR @ /connectors/security/user.php) Could not get table class for class: modAccess
[2013-09-26 20:14:41] (ERROR @ /connectors/security/user.php) Could not get table name for class: modAccess
[2013-09-26 20:14:41] (ERROR @ /connectors/security/user.php) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `modAccess` WHERE `modAccess`.`principal` = 40' at line 1
)
[2013-09-26 20:15:03] (ERROR @ /assets/components/office/action.php) 1
[2013-09-26 20:15:25] (ERROR @ /index.php) Attempted to redirect to an empty URL.
//по ошибке написал
Я там эти моменты вроде поправил — нужно просто открыть страницы профиля в контекстах — тогда запомнится их id, и будет редиректить верно.
Если что-то не работает — создавай тему в техподдержке магазина, будем предметно разбираться.
Если что-то не работает — создавай тему в техподдержке магазина, будем предметно разбираться.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.