Office - не проходит авторизация через емейл

При авторизации через СоцСистемы — все работает.
При попытке авторизации через емейл — получаю письмо, перехожу по ссылке и авторизация не происходит.
Хотя [[!+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=`Посетитель`
]]
В чем может быть проблема?
De Ribaskin
26 сентября 2013, 11:02
modx.pro
2 278
0

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

Василий Наумкин
26 сентября 2013, 15:06
0
Скорее всего, проблема в контекстах:
&loginContext=`enc`
&addContexts=`web,sys`

Причины я описывал вот тут. Нужно попробовать прописать в своём плагине переключения контекста вот такое:
$modx->switchContext('имя нужного контекста');
$modx->user = null;
$modx->getUser('имя нужного контекста');

Если не поможет — пиши, буду мучать Office.
    De Ribaskin
    26 сентября 2013, 15:55
    0
    Увы, не помогает. (
    Помимо того должен быть редирект для заполнения имени, он не происходит.
      Василий Наумкин
      26 сентября 2013, 15:59
      0
      Значит, жди новую версию Office, буду разбираться.
    Василий Наумкин
    26 сентября 2013, 19:20
    0
    Пробуем новую версию Office 0.9.1-rc.

    Всё, что касается контекстов, переделано заново. Отдельно хранятся настройки, выставляются page_id, авторизоваться можно как сразу в несколько контекстов, так и независимо, только в определённый.

    В общем, проверяй, и пиши, все ли работает.

    P.S. Если используешь свой javascript вместо auth/default.js, то в нём нужно будет добавить отправку в запросе pageId — по нему определяется текущий контекст для генерации ссылок на вход и выход.

    Как именно добавить, видно в родном default.js.
      De Ribaskin
      26 сентября 2013, 20:20
      0
      Если документ с вызовом сниппета 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.
        De Ribaskin
        26 сентября 2013, 20:50
        0
        //по ошибке написал
          Василий Наумкин
          26 сентября 2013, 21:04
          0
          Я там эти моменты вроде поправил — нужно просто открыть страницы профиля в контекстах — тогда запомнится их id, и будет редиректить верно.

          Если что-то не работает — создавай тему в техподдержке магазина, будем предметно разбираться.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7