Hybridauth для работы в разных контекстами
Пытаюсь залогиниться в 2 контекстах
Создал один набор id-secret в twitter для теста. Внес данные в контексте web, создал точно такую же запись в контексте en. Вызов сниппета
Код плагина
Создал один набор id-secret в twitter для теста. Внес данные в контексте web, создал точно такую же запись в контексте en. Вызов сниппета
[[!HybridAuth?
&providers=`Twitter `
&loginContext=`web`
&addContexts=`en`
]]
При залогинивании в web — не переходит в контекст en, при залогинивании в en — ошибка — циклическая ссылка на странице.Код плагина
<?php
if($modx->context->get('key') != "mgr"){
/* grab the current langauge from the cultureKey request var */
switch ($_REQUEST['cultureKey']) {
case 'en':
/* switch the context */
$modx->switchContext('en');
break;
case 'kg':
/* switch the context */
$modx->switchContext('kg');
break;
default:
/* Set the default context here */
$modx->switchContext('web');
break;
}
/* unset GET var to avoid
* appending cultureKey=xy to URLs by other components */
unset($_GET['cultureKey']);
}
В чем может быть проблема? Комментарии: 8
Нашел решение! ЗАБИТЬ НА СНИППЕТ, который никто не знает и не поддерживает и использовать вместо связи Hybridauth+Tickets — Facebook comments или Disqus
Верное решение, молоток!
А лучше забить на MODX. Только мы трое о нём знаем и ещё пара человек догадываются.
MODx? А что это?
Вот вы прибежали ёрничать, а попробуйте подумать не с высоты своих унитазов, а со стороны обычного человека. Решил человек разобраться в вопросе, нагуглил, посмотрел, почитал — сделал. Что-то получилось, что-то нет. Решил спросить у сообщества, у тех людей, которые знают больше или имею бОльший опыт. Вот обращается он к сообществу с вопросом, а сообщество просто проходит мимо, день проходит, два проходит, три проходит. Что делать?
Кстати очень показательно, что появились вы все только после того, как я написал свой комментарий. То есть вы были где-то, заходили, смотрели, но по делу ответить не могли или не хотели, а вот на такой комментарий слетелись как шакалы и начали посмеиваться вокруг. Это не делает вам чести, возможно уважения в кругу таких же как и вы, тех кто готов высмеивать, а не помогать советом. Но чего стоит уважение таких людей?
Я между прочим предложил даже заплатить за помощь в такой работе, раз уж никто не хочет помогать советом. Мне бы хотелось освоить систему и решить эту задачу именно на уровне modx, но отсутствие адеквата толкает на поиск других решений.
Кстати очень показательно, что появились вы все только после того, как я написал свой комментарий. То есть вы были где-то, заходили, смотрели, но по делу ответить не могли или не хотели, а вот на такой комментарий слетелись как шакалы и начали посмеиваться вокруг. Это не делает вам чести, возможно уважения в кругу таких же как и вы, тех кто готов высмеивать, а не помогать советом. Но чего стоит уважение таких людей?
Я между прочим предложил даже заплатить за помощь в такой работе, раз уж никто не хочет помогать советом. Мне бы хотелось освоить систему и решить эту задачу именно на уровне modx, но отсутствие адеквата толкает на поиск других решений.
Ладно, а теперь без шуток.
HybridAuth прекрасно работает в нескольких контекстах, но для этого:
1. Нужно указывать &loginContext=`` и &addContexts=`` соответствующими контексту.
2. Всем этим контекстам должна быть доступна одна общая сессия. Если на сайте 3 поддомена, то у них по умолчанию 3 разных сессии и при авторизации в одном контексте, другие ничего не видят.
На всякий случай, авторизует не HybridAuth, а процессоры авторизации MODX. Они же используются и в Office, и в Login и в любых других нормальных дополнениях. Для того они и придуманы.
Еще советую переписать свой плагин переключения контекстов.
HybridAuth прекрасно работает в нескольких контекстах, но для этого:
1. Нужно указывать &loginContext=`` и &addContexts=`` соответствующими контексту.
2. Всем этим контекстам должна быть доступна одна общая сессия. Если на сайте 3 поддомена, то у них по умолчанию 3 разных сессии и при авторизации в одном контексте, другие ничего не видят.
На всякий случай, авторизует не HybridAuth, а процессоры авторизации MODX. Они же используются и в Office, и в Login и в любых других нормальных дополнениях. Для того они и придуманы.
Еще советую переписать свой плагин переключения контекстов.
Спасибо! Попробую это решение. Еще вопрос: для каждого контекста нужно создавать свою пару id-secret в соцсетях или она будет единой для всех контекстов?
Это зависит от сети.
Facebook и Google, например, разрешают указывать несколько адресов oauth_callback для одного ключа, а Яндекс — нет. Twitter вообще этот параметр не использует по умолчанию, ему пофиг куда отправлять авторизованного юзера.
Facebook и Google, например, разрешают указывать несколько адресов oauth_callback для одного ключа, а Яндекс — нет. Twitter вообще этот параметр не использует по умолчанию, ему пофиг куда отправлять авторизованного юзера.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.