Плагин "OpenID"
21
В разделе «Модули» появился первый официальный плагин для LiveStreet 0.4.1 от команды разработчиков LiveStreet.
Плагин «OpenID» позволяет пользователям авторизоваться и зарегистрироваться на сайте используя OpenID или ВКонтакте.

У пользователя в настройках профиля появляется раздел «OpenID», где указан список его OpenId идентификаторов.
Плагин будет полезен не только тем, кто хочет упростить авторизацию у себя на сайте, но и разработчикам плагинов для LiveStreet. исходных код плагина полностью прокомментирован, поэтому может служить неким пособием по созданию плагинов.
Внимание! Данные плагин работает только на версии 0.4.1.
UPD Обновление плагина — livestreet.ru/blog/addons/5458.html
Плагин «OpenID» позволяет пользователям авторизоваться и зарегистрироваться на сайте используя OpenID или ВКонтакте.

У пользователя в настройках профиля появляется раздел «OpenID», где указан список его OpenId идентификаторов.
Плагин будет полезен не только тем, кто хочет упростить авторизацию у себя на сайте, но и разработчикам плагинов для LiveStreet. исходных код плагина полностью прокомментирован, поэтому может служить неким пособием по созданию плагинов.
Внимание! Данные плагин работает только на версии 0.4.1.
UPD Обновление плагина — livestreet.ru/blog/addons/5458.html
- +17
- 03 мая 2010, 13:41
- ort
Fatal error: Call to undefined method Plugin::GetPath() in /home/data/www/site.ru/plugins/openid/classes/modules/openid/Openid.class.php on line 48

- KravchenkoM
- 03 мая 2010, 13:50
- ↓
Пардон. Обновился.
А как выйти из профиля.
При попытке снова авторизоваться, под другим Акком контакта, автоматом заходит под старым.
А как выйти из профиля.
При попытке снова авторизоваться, под другим Акком контакта, автоматом заходит под старым.

- KravchenkoM
- 03 мая 2010, 14:12
- ↑
- ↓
Непрокатывает. Вышел из Контакта, Убил Юзера, почистил Кэш…
Пытаюсь авторизоваться — данные контакта не спрашивает, автоматически назначает OpenID…
Предполагаю, что нужно Куки где-то убивать… при выходе…
Еще одно замечание: Значек OpenId невидно в главной форме авторизации…
Пытаюсь авторизоваться — данные контакта не спрашивает, автоматически назначает OpenID…
Предполагаю, что нужно Куки где-то убивать… при выходе…
Еще одно замечание: Значек OpenId невидно в главной форме авторизации…

- KravchenkoM
- 03 мая 2010, 14:41
- ↑
- ↓
Еще одно замечание: Значек OpenId невидно в главной форме авторизации…Тоже самое. Более того при попытке авторизоваться через VK, сообщает об ошибке безопасности
Кажется, поймал глюк.
Вышел из своего аккаунта (на этом сайте), попытался войти по учетке ВКонтакте.
Далее опера (последняя версия) стала постоянно перезагружать страницу (на эапе входа)… Подождал 30 секунд этих перезагрузок. Страницу закрыл и вошел под «родным» логином.
Вышел из своего аккаунта (на этом сайте), попытался войти по учетке ВКонтакте.
Далее опера (последняя версия) стала постоянно перезагружать страницу (на эапе входа)… Подождал 30 секунд этих перезагрузок. Страницу закрыл и вошел под «родным» логином.
А что было? Какая проблема? Как это решить?
Для воспроизведения проблемы:
1. Заходим под учеткой ВКонтакте, про которую плагин не знает.
2. Попадаем на «Продолжение авторизации». тут начинается интересное.
3. Не продолжая авторизацию нажимаем на заголовок (h1) названия сайта для перехода на главную страницу.
4. Заходим на главную и нас тут же перекидывает назад на продолжение авторизации.
Замкнутый круг.
____________________________
5. Заходим в управление куками (в Опере это Инструменты->Дополнительно->Управление cookies), ищем наш домен и удаляем печеньку vk_app_(id).
Только тогда можно будет нормально зайти на сайт.
Для воспроизведения проблемы:
1. Заходим под учеткой ВКонтакте, про которую плагин не знает.
2. Попадаем на «Продолжение авторизации». тут начинается интересное.
3. Не продолжая авторизацию нажимаем на заголовок (h1) названия сайта для перехода на главную страницу.
4. Заходим на главную и нас тут же перекидывает назад на продолжение авторизации.
Замкнутый круг.
____________________________
5. Заходим в управление куками (в Опере это Инструменты->Дополнительно->Управление cookies), ищем наш домен и удаляем печеньку vk_app_(id).
Только тогда можно будет нормально зайти на сайт.
комментарий был удален
комментарий был удален
Спасибо за отличный модуль! Только хочу высказать пожелание:
было бы отлично — сделать во вкладке openID (в настройках юзера) добавление идентификаторов через клик по соответствующим иконкам. А то разлогиниваться, чтобы добавить их, не очень удобно и долговато…
было бы отлично — сделать во вкладке openID (в настройках юзера) добавление идентификаторов через клик по соответствующим иконкам. А то разлогиниваться, чтобы добавить их, не очень удобно и долговато…
Да я тоже поддержу, так как нынешний метод он не логичен, и большинство пользователей он просто поставит в тупик.
кстати, да. Было бы удобно сразу в настройках добавлять OpenID аккаунты.
+ Очень неудобно, что нажимая в окошке логина на openID перекидывает на страницу, лучше бы аналогичное окно открывалось.
+ Очень неудобно, что нажимая в окошке логина на openID перекидывает на страницу, лучше бы аналогичное окно открывалось.
А можно как то синхронизировать из контакте имя и фамилию? Может… дату рождения, или город? )

- nickostyle
- 05 мая 2010, 20:55
- ↓
Тоже интересно… а то нашим блондинкам голубоглазым очень трудно объяснить, зачем это надо…

- KravchenkoM
- 05 мая 2010, 23:10
- ↑
- ↓
А какие требования для этого плагина к серверу (расширения может какие-то нужны особенные)?
Потому что у меня он отказывается работать вообще на сервере, в IE по клику на иконку яндекса или гугла, долго тупит потом в 500 ошибку вываливается, в других браузерах просто перегружает страницу без результатов.
В логе ошибок только этому подобные сообщения.
З.Ы. на денвере работает (кроме гугла, тут уже писали)…
Потому что у меня он отказывается работать вообще на сервере, в IE по клику на иконку яндекса или гугла, долго тупит потом в 500 ошибку вываливается, в других браузерах просто перегружает страницу без результатов.
В логе ошибок только этому подобные сообщения.
[09-May-2010 16:37:37] Successfully fetched 'http://openid.yandex.ru/': GET response code 200
[09-May-2010 16:37:38] Successfully fetched 'http://openid.yandex.ru/server_xrds/': GET response code 200З.Ы. на денвере работает (кроме гугла, тут уже писали)…
что-то у меня авторизация перестала работать, через гугл (Ошибка OpenId авторизации, возможно вы указали неверный OpenID адрес) и через Вконтакте (Open API security breach)
Что не так?
Что не так?

- prometheus
- 11 мая 2010, 21:12
- ↓
разобрался с «вконтакте»
забыл в конфиге прописать id приложения.
а вот с гуглом, ошибка осталась. непонятно.
забыл в конфиге прописать id приложения.
а вот с гуглом, ошибка осталась. непонятно.

- prometheus
- 12 мая 2010, 15:09
- ↑
- ↓
а можно немного по подробней о «Вконтакте»? Что за приложение и где его взять?

- NEJDANCHIK
- 17 мая 2010, 14:07
- ↓
Еще вопрос. Как установить мод не имея мода админпанели? Вручную?
Это вообще возможно?
Ибо LiveStreet 0.4; AdminPanel — только для 0.3.1; OpenID — только с админпанелью.
Непорядок.
Это вообще возможно?
Ибо LiveStreet 0.4; AdminPanel — только для 0.3.1; OpenID — только с админпанелью.
Непорядок.
активация плагина по адресу — если верить тутору.
в основной поставке папки admin нет в природе. ))
ЧЯДНТ?
в основной поставке папки admin нет в природе. ))
ЧЯДНТ?
У меня 0.4 и без админки, все работает %livestreet%/admin/plugins/ открывает, может у вас 0.3.1, а плагин работает только с 0.4

- NEJDANCHIK
- 19 мая 2010, 01:19
- ↑
- ↓
SQL Error: Table 'site.prefix_openid' doesn't exist at /home/f/site/new/public_html/plugins/openid/classes/modules/openid/mapper/Openid.mapper.class.php line 59
Array ( [code] => 1146 [message] => Table 'site.prefix_openid' doesn't exist [query] => SELECT * FROM prefix_openid WHERE user_id = '1' [context] => /home/f/site/new/public_html/plugins/openid/classes/modules/openid/mapper/Openid.mapper.class.php line 59 )
Уже который день бьюсь над загадкой ошибки авторизации через гугль. Вид ошибки тут уже приводился, и звучит как «Ошибка OpenId авторизации, возможно вы указали неверный OpenID адрес».
Обшарил всё, что можно. Адрес OpenID авторизации звучит как «» и всё вроде верно, но… Категорически отказывается работать. Был бы сильно благодарен хотя бы за пинок в том направлении, куда необходимо копать, идеи уже кончились.
Версия 0.4, плагин new от неё же, родимой (тот, что поставляется в сборке). Остальные OpenID работают отлично.
З.Ы. Спасибо автору данного плагина.
Обшарил всё, что можно. Адрес OpenID авторизации звучит как «» и всё вроде верно, но… Категорически отказывается работать. Был бы сильно благодарен хотя бы за пинок в том направлении, куда необходимо копать, идеи уже кончились.
Версия 0.4, плагин new от неё же, родимой (тот, что поставляется в сборке). Остальные OpenID работают отлично.
З.Ы. Спасибо автору данного плагина.
при попытке войти через любой из openid выдает следующее
Fatal error: No XML parser was found in /plugins/openid/classes/lib/external/php-openid-2.1.3/Auth/Yadis/XML.php on line 366 подскажите в какую сторону копать, поиск ничего не дал
Хм, боюсь оказаться неправым, но всё же…
Я бы поступил так:
Для начала проверил версию (должна быть 0.4), потом шаблон (для гарантии и то и другое взять из раздела «Скачать» тутошнего, ибо народ работоспособность подтвердил). Если не помогло — пытаться понять, на что оно таки ругается
366 строка, если ничего не меняли " trigger_error('No XML parser was found', E_USER_ERROR);"
А тот маленький циклик, указанный выше есть часть большего цикла, целью которого, насколько я понимаю, получение одной переменной из другой.
Возможно кто ещё подскажет, но надеяться лучше на себя.
Я бы поступил так:
Для начала проверил версию (должна быть 0.4), потом шаблон (для гарантии и то и другое взять из раздела «Скачать» тутошнего, ибо народ работоспособность подтвердил). Если не помогло — пытаться понять, на что оно таки ругается
if (!isset($p)) {
trigger_error('No XML parser was found', E_USER_ERROR);
} else {
Auth_Yadis_setDefaultParser($p);
}366 строка, если ничего не меняли " trigger_error('No XML parser was found', E_USER_ERROR);"
А тот маленький циклик, указанный выше есть часть большего цикла, целью которого, насколько я понимаю, получение одной переменной из другой.
Возможно кто ещё подскажет, но надеяться лучше на себя.
Еще такая проблема. Стоит данный плагин и система инвайтов. Нажимаем войти, выбираем опенАйДи… и опа, новый пользователь — регаемся без кода. Как прикрыть халяву? :(
Что-то я не вкурил. Ставлю на LS 0.4 плагин, выложенный . Всё встало без проблем, плагин активировал, форма появилась. Для ВК еще надо приложение создавать, пока попробовал залогиниться с помощью своей почты на яндексе, на что получил такое сообщение:
Это же не должно возникать из-за того, что я тестирую на поддомене?..
return_to u'http://sub.site.ru/login/openid/enter/finish/?janrain_nonce=2010-06-08T20%3A38%3A20ZZiPDKH' not under trust_root u'http://sub.site.ru:81/'Это же не должно возникать из-за того, что я тестирую на поддомене?..

- Detonatora
- 09 июня 2010, 00:49
- ↓
plugins/openid/classes/modules/openid/Openid.class.php
наиная со строки 165
наиная со строки 165
protected function getTrustRoot() {
return preg_replace('#^(\w+\://[^/]+/)(.*)$#', '\1', Config::Get('path.root.web').'/');
/* return sprintf("%s://%s:%s%s/",
$this->getScheme(), $_SERVER['SERVER_NAME'],
$_SERVER['SERVER_PORT'],
'');*/
}
Скажите пожалуйста: когда юзер авторизуется через ВКонтакте или OpenID таким способом, как в этом плагине сделано, какая-нибудь информация о нём остаётся на сайте? Почта, имя пользователя? Уведомление по почте можно сделать такому пользователю? или они как незарегистрированные получается, но с правом комментирования. так что-ли?

- silverman_oleg
- 09 июня 2010, 13:01
- ↓
Поставил. При попытке зайти под всем кроме вконтекте выдаёт:
вконтакте всё отлично.
может кто сталкивался. Сайт на поддомене может в этом проблема.
Fatal error: No XML parser was found in /var/www/seductionby/data/www/master.seduction.by/plugins/openid/classes/lib/external/php-openid-2.1.3/Auth/Yadis/XML.php on line 366вконтакте всё отлично.
может кто сталкивался. Сайт на поддомене может в этом проблема.
При попытке зайти используя OpenID выпадает ошибка
«Ошибка: Server denied check_authentication». Может я базу не в том формате указал?
Кроме этой части конфига для входа по простому OpenID что-либо нужно?
А тут что указывать? Или путь оставлять как есть?
«Ошибка: Server denied check_authentication». Может я базу не в том формате указал?
$config['table']['openid'] = 'u231179_site.livestreet_openid';
$config['table']['openid_tmp'] = 'u231179_site.livestreet_openid';Кроме этой части конфига для входа по простому OpenID что-либо нужно?
$config['file_store'] = '___sys.cache.dir___php_consumer_livestreet'; // каталог для хранения данных OpenIDА тут что указывать? Или путь оставлять как есть?
возможно это поможет:
If you keep getting server authentication failed, please update your server's CA certificates.
For openssl, you can get an updated CA bundle here curl.haxx.se/ca/cacert.pem
При попытке авторизации через вконтакте происходит следующее:

Те получается что пользователь залогинился вконтакте а на сайт не вошел.
Что я сделал не правильно? :)

Те получается что пользователь залогинился вконтакте а на сайт не вошел.
Что я сделал не правильно? :)

- dbelokursky
- 05 июля 2010, 14:22
- ↓
работает опенади только вконтакте(создал приложение)
остальные нет, нужно еще что то прописывать?
остальные нет, нужно еще что то прописывать?

- NonStop2009
- 10 июля 2010, 15:21
- ↓
Курю vkontakte.ru/pages.php?o=-1&p=Open%20API
внутри какого тега-то? :) ощущение что название тега упущено…
Для использования обычной инициалиазации необходимо добавить следующий блок кода внутри тега:
внутри какого тега-то? :) ощущение что название тега упущено…
У меня такой вопрос — как сделать возможность, будучи авторизованным на сайте на livestreet заходить через OpenID на другие сайты? В частности интересует авторизация в ЖЖ. Кто сможет доработать плагин? Или как его можно самому настроить?
Комментарии (160)
RSS свернуть / развернуть