HybridAuth и алиасы сайта
Итак есть мультиязычный (en/ru) сайт с двумя контекстами и двумя алиаса в зоне .com и .ru.
Причем переключение языков en/ru возможно и в зное .com и .ru.
Как реализовать авторизацию через HybridAuth, не привязывая контекст к домену?
Причем переключение языков en/ru возможно и в зное .com и .ru.
Как реализовать авторизацию через HybridAuth, не привязывая контекст к домену?
Комментарии: 9
Никак.
Задавай ключи для сервисов прямо в настройках контекстов — каждому свои. Для Яндекса и Гугла это будут разные сайты, и нужно их отдельно регистрировать.
Задавай ключи для сервисов прямо в настройках контекстов — каждому свои. Для Яндекса и Гугла это будут разные сайты, и нужно их отдельно регистрировать.
А ключ настройка «Домен для сессионных куки — session_cookie_domain» не сможет помочь ситуации? Просто гибрид проверял бы эту переменную и брал оттуда сессию.
А это здесь причем?
Если юзер уходит авторизоваться с домена com — то на сервисе должен быть зарегистрирован com. Если с ru — то ru.
Иначе будет redirect_uri_mismatch и до сессиию дело не дойдёт.
Если юзер уходит авторизоваться с домена com — то на сервисе должен быть зарегистрирован com. Если с ru — то ru.
Иначе будет redirect_uri_mismatch и до сессиию дело не дойдёт.
Спасибо за ответ Василий. Поступил как вы и советовали задал ключи для каждого контекста.
Задал каждому контексту свой домен и язык. Сделал переключение между доменами.
Но авторизация заткнулась вот на этом:
Теперь (ERROR @ /index.php) [HybridAuth] No provider ID specified.
Задал каждому контексту свой домен и язык. Сделал переключение между доменами.
Но авторизация заткнулась вот на этом:
Теперь (ERROR @ /index.php) [HybridAuth] No provider ID specified.
И так вот что я нарыл. Если удалил все ha.keys. ключи из всех контекстов и оставить только в настройках системы. Все работает для указанного ключа и домена. Но если в любой контексте добавить ha.keys то в логе [HybridAuth] No provider ID specified. Как будто система забывает заглядывать в настройки контекста.
Проблема решаеться только прописованием в плагине переключения контекстов кода
$modx->setOption('ha.keys.Google','{"id":"goooooooooooooClientID","secret":"gooooooooooooooClientSecret"}');
Если бы забывало заглядывать — ошибки бы не было.
Делай сайт на modx-test.com — посмотрим, что там у тебя не так.
Делай сайт на modx-test.com — посмотрим, что там у тебя не так.
Но есть и ложка дёгтя. Tickets перестали работать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.