Плагин "OpenID"

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

У пользователя в настройках профиля появляется раздел «OpenID», где указан список его OpenId идентификаторов.
Плагин будет полезен не только тем, кто хочет упростить авторизацию у себя на сайте, но и разработчикам плагинов для LiveStreet. исходных код плагина полностью прокомментирован, поэтому может служить неким пособием по созданию плагинов.

Внимание! Данные плагин работает только на версии 0.4.1.

UPD Обновление плагина — livestreet.ru/blog/addons/5458.html

161 комментарий

avatar
супер! :)
avatar
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
avatar
внимательно читаем топик
avatar
Пардон. Обновился.
А как выйти из профиля.
При попытке снова авторизоваться, под другим Акком контакта, автоматом заходит под старым.
avatar
выйти из ВКонтакте
avatar
Непрокатывает. Вышел из Контакта, Убил Юзера, почистил Кэш…
Пытаюсь авторизоваться — данные контакта не спрашивает, автоматически назначает OpenID…
Предполагаю, что нужно Куки где-то убивать… при выходе…

Еще одно замечание: Значек OpenId невидно в главной форме авторизации…
avatar
на сайте livestreet.ru таких проблем нет
avatar
Еще одно замечание: Значек OpenId невидно в главной форме авторизации…
Тоже самое. Более того при попытке авторизоваться через VK, сообщает об ошибке безопасности
avatar
Тоже самое.
шаблон какой?
Более того при попытке авторизоваться через VK, сообщает об ошибке безопасности
перепроверь данные приложения в конфиге
avatar
Шаблон слегка переделаный New
avatar
шаблон должен быть обновлен до последней версии из SVN, т.к. там добавлены вызовы хуков
avatar
Заработало. Заменил шаблон header
avatar
Идентично… вышел из Контакта, вышел с сайта, вновь захожу через OpenID при этом авторизуюсь без лишних вопросов, сразу после клика на значок OpenID, этак может любой с моего компа авторизоваться, просто кликнуть на значок и все. Как решили вопрос?
avatar
Немножко не понял строчки про то что появится в профиле пользователя, т.е. вначале все же нужно зарегистрироваться на сайте?
avatar
зарегистрированному пользователю доступна страница livestreet.ru/settings/openid/
avatar
А как же 0.3?!
avatar
Сообщество считает, что 0.3.1 — для геронтофилов.
avatar
на странице «вам было выслано письмо для подтверждения мыла» в заголовке (title) написано «ошибка»
avatar
да, не стал делать отдельный шаблон
avatar
Кажется, поймал глюк.
Вышел из своего аккаунта (на этом сайте), попытался войти по учетке ВКонтакте.
Далее опера (последняя версия) стала постоянно перезагружать страницу (на эапе входа)… Подождал 30 секунд этих перезагрузок. Страницу закрыл и вошел под «родным» логином.
avatar
мне помогла очистк
а кэша
avatar
На livestreet.ru тоже самое, постоянные обновления страницы, что-то вроде зацикливания. хром.
avatar
попробуй еще раз
зацикливает?
avatar
Да, на данный момент все здорово.
avatar
А что было? Какая проблема? Как это решить?
Для воспроизведения проблемы:
1. Заходим под учеткой ВКонтакте, про которую плагин не знает.
2. Попадаем на «Продолжение авторизации». тут начинается интересное.
3. Не продолжая авторизацию нажимаем на заголовок (h1) названия сайта для перехода на главную страницу.
4. Заходим на главную и нас тут же перекидывает назад на продолжение авторизации.
Замкнутый круг.
____________________________
5. Заходим в управление куками (в Опере это Инструменты->Дополнительно->Управление cookies), ищем наш домен и удаляем печеньку vk_app_(id).

Только тогда можно будет нормально зайти на сайт.
avatar
А опенайди от мейлру до сих пор глючит?
комментарий был удален
комментарий был удален
avatar
очень печально, что нет версии для 031 :(
avatar
Какая интересная регистрация.
1. Клац на ссылку ГугльОпенИд
2. Гуглопочта
2. Ввод логина
3. Вход на сайт
4. Настройки
5. Опять гуглопочта
6. Смена пароля

Может упростить систему смены пароля, не?
avatar
спасибо. уже заюзал на cookorama.net :)
avatar
Спасибо за отличный модуль! Только хочу высказать пожелание:
было бы отлично — сделать во вкладке openID (в настройках юзера) добавление идентификаторов через клик по соответствующим иконкам. А то разлогиниваться, чтобы добавить их, не очень удобно и долговато…
avatar
Да я тоже поддержу, так как нынешний метод он не логичен, и большинство пользователей он просто поставит в тупик.
avatar
кстати, да. Было бы удобно сразу в настройках добавлять OpenID аккаунты.
+ Очень неудобно, что нажимая в окошке логина на openID перекидывает на страницу, лучше бы аналогичное окно открывалось.
avatar
в настройках тот же гугл-аккаунт показывается как невразумительная ссылка, в то время, как её можно было бы заменить на более наглядный e-mail. этому плагину ещё есть куда совершенствоваться.
avatar
Согласен. Не логично показывать ссылки.
Но лучше показывать логин, а не email, т.к. на том же яндексе email может быть и @yandex.ru и @ya.ru :)
avatar
А как же 0.3? :)
avatar
чуть-чуть потошню:)
«Войти, используя OpenId» или «Вход с использованием OpenId», но никак не «Вход используя OpenId»… ;)
avatar
Из 0.4 получается совсем другая история! =-))
и это радует!
Спасибо!
avatar
АааА! Кого расцеловать за этот плагин?))
Спасибо большущее!
avatar
На шаблоне new не работает? Включил и не вижу изменений.
avatar
нужна последняя версия шаблона — LS 0.4
avatar
Отлично, заработало. Думаю на главной рядом со ссылкой Регистрация и Вход нужно добавить иконку OpenID с соотв. ссылкой.
avatar
я что-то не понял, а что за приложение нужно вконакте создавать?
avatar
что-то у меня через гугл не хочет авторизовываться Ошибка: Ошибка OpenId авторизации, возможно вы указали неверный OpenID адрес выдаёт. В чём может быть проблема?
avatar
никто не знает как быть?
avatar
у меня google работает только на сервере, локально не работает
avatar
при попытке авторизации с вконтакте пишет Open API security breach
avatar
проверить правильность данных в конфиге + аторизация будет работать только на хосте прописанном в настройках приложения ВКонтакте
avatar
с этого место подробнее )))
avatar
подробнее здесь vkontakte.ru/pages.php?o=-1&p=Open%20API
avatar
так! первую проблему решили — осталась ещё одна )
после авторизации пишет
«Ошибка: Ошибка авторизации, верификация ВКонтакте не пройдена»
avatar
Приложение создал?
Конфиги прописал все?
avatar
приложение есть, после клика уже прелогается авторизоваться на вконтакте и после соглашения такая штука пишется!
avatar
А можно как то синхронизировать из контакте имя и фамилию? Может… дату рождения, или город? )
avatar
Тоже интересно… а то нашим блондинкам голубоглазым очень трудно объяснить, зачем это надо…
avatar
Да возможность синхронизации была бы интересна.
avatar
А какие требования для этого плагина к серверу (расширения может какие-то нужны особенные)?
Потому что у меня он отказывается работать вообще на сервере, в 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

З.Ы. на денвере работает (кроме гугла, тут уже писали)…
avatar
гм. странно. здесь пашет без www., а у меня на обоих сайтах нет

яндекс например отвечает
return_to u'http://test.ru/login/openid/enter/finish/?janrain_nonce=2010-05-10T16%3A09%3A17ZEDdOUu'
not under trust_root u'http://www.test.ru/'
avatar
что-то у меня авторизация перестала работать, через гугл (Ошибка OpenId авторизации, возможно вы указали неверный OpenID адрес) и через Вконтакте (Open API security breach)

Что не так?
avatar
разобрался с «вконтакте»
забыл в конфиге прописать id приложения.

а вот с гуглом, ошибка осталась. непонятно.
avatar
у меня тоже пишет Open API security breach
что не так?
avatar
Надо и к фейсбуку тогда подключать уже, скоро все в фейсбуке будем…
avatar
а можно немного по подробней о «Вконтакте»? Что за приложение и где его взять?
avatar
Извиняюсь за вопрос, я разобрался
avatar
Вопрос возник. Данный мод используется вместе со стандартной регистрацией.
Нужно выпендриться и сделать OpenId вместо обычной регистрации. Это реально?
avatar
Еще вопрос. Как установить мод не имея мода админпанели? Вручную?
Это вообще возможно?
Ибо LiveStreet 0.4; AdminPanel — только для 0.3.1; OpenID — только с админпанелью.
Непорядок.
avatar
а где вы прочитали что плагин взаимосвязан с админпанелью?
avatar
активация плагина по адресу %livestreet%/admin/plugins/ — если верить тутору.

в основной поставке папки admin нет в природе. ))
ЧЯДНТ?
avatar
а зачем вам %livestreet%/admin/ ???? логиньтесь под админкой и заходите %livestreet%/admin/plugins/
avatar
под админкой, это аккаунт №1 что ли?
у меня папок admin/plugins просто нет.

снова же ЧЯДНТ?
avatar
каких папок вы имеете ввиду?
example.com/admin/plugins/ должен отрабатывать точно без всякой админпанели.
avatar
я по этому адресу error404 вижу…
avatar
no way!

под админом ззалогинены?
avatar
alarm отменяется. после перезагрузки сервера всё заработало.
спасибо за поддержку
avatar
Пререстраивайте мышление! Если сказано, что надо идти по адресу site.ru/blabla/, то это вовсе не значит, что на сайте должна быть папка /blabla/!

Урл не есть название папки. Сказано «идите по адресу...», значит идите по адресу.
avatar
специально для вас повторю написанное выше — сознание невозможно перестроить видя по адресу error404.
Но проблема уже решилась.
avatar
У меня 0.4 и без админки, все работает %livestreet%/admin/plugins/ открывает, может у вас 0.3.1, а плагин работает только с 0.4
avatar
AdminPanel есть и для 0.4
avatar
Очень хочется функционал плагина как в mod_auth_openid, а именно AuthOpenIDTrusted и AuthOpenIDDistrusted, если это все вынести в конфиг, то это позволит с легкостью добавлять новых openid провайдеров и убирать не нужных, так хочется опцию отключения авторизации вконтакте…
avatar
Установила плагин, получаю вот такую петрушку: getlogin.net/openid.jpg

Ошибка: NOT_FOUND_LANG_TEXT

и кнопка отправки наполовину как-то. :(
avatar
К фейсбуку кто-нибудь сделал подключение?
avatar
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 )
avatar
добавил таблицу вручную
avatar
Доброго дня!

А что делать вот с таким сообщением:
«Ошибка: Файл плагина ...\public_html\plugins\openid\PluginOpenid.class.php не найден »?

Все перепроверил =(
avatar
Вроде логично. Продумываем все варианты:
-просто файла нету — Переустановите плагин, делов то…
-версия не совпадает — обновитесь до 0.4
-неизвестная бяка — ребутните своё товарищество, предварительно очистив кеш, авось поможет.
avatar
Уже который день бьюсь над загадкой ошибки авторизации через гугль. Вид ошибки тут уже приводился, и звучит как «Ошибка OpenId авторизации, возможно вы указали неверный OpenID адрес».
Обшарил всё, что можно. Адрес OpenID авторизации звучит как «www.google.com/accounts/o8/id» и всё вроде верно, но… Категорически отказывается работать. Был бы сильно благодарен хотя бы за пинок в том направлении, куда необходимо копать, идеи уже кончились.
Версия 0.4, плагин new от неё же, родимой (тот, что поставляется в сборке). Остальные OpenID работают отлично.
З.Ы. Спасибо автору данного плагина.
avatar
это к хостеру. Была подобная проблема. Исправилась установкой cURL и разрешением на его работу с https
avatar
В данный момент я сам себе хостер. Так что возникает следующий вопрос: как разрешить cURL'у работу с https? (сам cURL установлен и включен).
avatar
Не подскажите, как решили проблему? У меня хостер сказал, что всё установлено и включено.
avatar
при попытке войти через любой из 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
подскажите в какую сторону копать, поиск ничего не дал
avatar
Хм, боюсь оказаться неправым, но всё же…
Я бы поступил так:
Для начала проверил версию (должна быть 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);"
А тот маленький циклик, указанный выше есть часть большего цикла, целью которого, насколько я понимаю, получение одной переменной из другой.
Возможно кто ещё подскажет, но надеяться лучше на себя.
avatar
Мне помогло включение библиотек xmlreader.so и dom.so
avatar
Еще такая проблема. Стоит данный плагин и система инвайтов. Нажимаем войти, выбираем опенАйДи… и опа, новый пользователь — регаемся без кода. Как прикрыть халяву? :(
avatar
отключить OpenID
avatar
А менее радикального способа нет? Удобно таки, как минимум, логиниться с ним. Возможно, с регистрацией, черт с ней )
avatar
OpenID и инвайты как бы несовместимо…
avatar
я бы даже сказал неуместно )
avatar
Ну почему же так? С регистрацией вроде бы как уяснили, тут инвайт, логин, пас. Но вот авторизация — зачем вводить логин и пароль, если можно тыцнуть на гугл и войти просто нажатием кнопки?

BarikSH, спасибо, попробую как то попробовать)
avatar
Открутить регистрацию как таковую в OPENID плагине. Оставить только логин. Как это сделать культурно (т.е. не банальным варварским способом снести файло, отвечающие за регистрацию) это уже вопрос научных изысканий.
avatar
а где модуль? =( по ссылке 404
avatar
плагины еще не адаптированы под 0.4.1 поэтому все плагины удалены пока, будут добавляться по мере их адаптации разработчиками.
avatar
Что-то я не вкурил. Ставлю на 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/'

Это же не должно возникать из-за того, что я тестирую на поддомене?..
avatar
plugins/openid/classes/modules/openid/Openid.class.php
наиная со строки 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'],
		'');*/
	}
avatar
а где можно почитать или получить пояснение по решению этой проблемы в варианте не для кодеров?
заранее благодарен
avatar
косяк в коде, поэтому решать его правкой кода.

не вижу вообще логики использования SERVER_NAME заместо HTTP_HOST
avatar
я понял
просто хотелось именно инструкции, где чего поправить для ламеров=)
avatar
Скажите пожалуйста: когда юзер авторизуется через ВКонтакте или OpenID таким способом, как в этом плагине сделано, какая-нибудь информация о нём остаётся на сайте? Почта, имя пользователя? Уведомление по почте можно сделать такому пользователю? или они как незарегистрированные получается, но с правом комментирования. так что-ли?
avatar
Создаётся новый пользователь, из вконтакте берётся только id
Скоро ожидать поддержку для 0.4.1?
avatar
Плагин обновился, теперь он работает на LiveStreet 0.4.1
  • ort
  • +4
avatar
Люди, кто может и понимает! Доделайте кто-нибудь к плагину регистрацию с фейсбука, я профинансирую, в разумных пределах конечно.
avatar
начнем делать в 21го
avatar
отлично! ждем!
avatar
Выше всяких похвал )))
Очень хотелось бы использовать данную возможность и на версии 0.3.1.
avatar
скоро будем делать
avatar
при нажатии «вконтакте» выходит -> Open API security breach
avatar
Вы вообще инструкцию читаете!? Нужно ключ api и id приложения ввести и всё заработает!
avatar
спасибо за напоминание
avatar
Поставил. При попытке зайти под всем кроме вконтекте выдаёт:
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

вконтакте всё отлично.

может кто сталкивался. Сайт на поддомене может в этом проблема.
avatar
в вашем php нет поддержки любой из 2х библиотек: domxml, dom
необходимо установить.
avatar
Мне помогло включение библиотек xmlreader.so и dom.so
avatar
При попытке зайти используя 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

А тут что указывать? Или путь оставлять как есть?
avatar
возможно это поможет:
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
avatar
При попытке авторизации через вконтакте происходит следующее:

Те получается что пользователь залогинился вконтакте а на сайт не вошел.
Что я сделал не правильно? :)
avatar
на сайте livestreet.ru такое повторяется?
avatar
На livestreet.ru все отлично работает.
avatar
Всё работает кроме контактов. Сделал приложение, получил ID, ключ. пытаюсь править config.php — всё к чертям. Ошибки. Причем при любом изменении конфигов — ошибки. Мож я чо не так. В мануале вроде всё ясно прописано, но черт возьми где я косячу не пойму. Подскажите поподробней комрады…
avatar
работает опенади только вконтакте(создал приложение)

остальные нет, нужно еще что то прописывать?
avatar
При попытке войти по OpenID выдает «Невалидный ключ OpenID авторизации» (gmail аккаунт). На сайте LS этот же аккаунт работает на ура. В чем может быть причина? Версия LS 0.4.2.
avatar
Я понял, скорее всего дело в отсутствии cURL.
avatar
Возможно ли к данному плагину докрутить авторизацию через Твиттер аккаунт? Было бы очень здорово иметь такую возможность ))
avatar
Присойденяюсь к provolod

Хотелось бы добавить твиттер и фейсбук и жж.
avatar
Курю vkontakte.ru/pages.php?o=-1&p=Open%20API
Для использования обычной инициалиазации необходимо добавить следующий блок кода внутри тега:

внутри какого тега-то? :) ощущение что название тега упущено…
avatar
попробовал разные варианты, smarty ругается
avatar
{literal} ... {/literal}
avatar
использование OPenID позволяет обойти регистрацию по приглашениям
  • gto
  • 0
avatar
Отключите плагин, регистрация по приглашениям и плагин OPenID это вообщем-то несовместимые вещи.
avatar
Как сделать чтобы по умолчанию на странице /login/openid/enter/ активное поле ввода было не для openid, а для вконтакте.
то есть нужно переместить из под надписи «Пользуетесь одним из сервисов?» «Вконтакте» с нижнего правого угла «наверх», а на его место поставить openid

Спасибо заранее!!!
avatar
это где-то в шаблоне, но я точно не знаю
avatar
возможно в openid.tpl, но я не силён в языках.
сообщество, полагаюсь на вашу помощь!!!
avatar
А не планировали facebook еще добавить в этот plugin?
  • vt13
  • 0
avatar
При включенной регистрации по приглашениях плагин позволяет регистрироваться через OpenID без приглашения.
Как исправить?
avatar
прочитать комментарии к теме, например
avatar
Тут уже обсуждалось это. При включенным OpenID приглашения теряют всякий смысл.
avatar
У меня такой вопрос — как сделать возможность, будучи авторизованным на сайте на livestreet заходить через OpenID на другие сайты? В частности интересует авторизация в ЖЖ. Кто сможет доработать плагин? Или как его можно самому настроить?
avatar
если я правильно вас понял, вам нужен openID сервер, это не допиливать надо, это писать с нуля совершенно другая штуковина
avatar
Просто для вордпресса например есть такие плагины. я подумал, может и этот плагин имеет такую возможность, но у меня что то не работает. Ну ладно. спасибо за информацию, сейчас создам отдельный топик ))
avatar
авторизацию от mail.ru кто-нибудь прикручивал?
avatar
Нужна помощь в установке плагина!
avatar
А в чем собственно проблема? Копируем на хостинг, запускаем через админку. Радуемся.
avatar
рамблер нафиг не нужен :)
я оставил яшу, гугл и вконт

а вот твиттор и фэйсбук не помешали бы ;)
avatar
Да, что-то заглохла доработка плагина для авторизации через facebook, ну и твиттер если что. идет массовая миграция полово- и умозрелого пользователя на фейсбук…
avatar
Добавил на этот сайт поддержку facebook, можно потестировать
avatar
Макс, а ФБ передает только то, что действительно есть я на ФБ или можно получить еще имя, фотку профиля, город, страну если есть?
avatar
можно получить, но пока этого в плагине не будет
добавил поддержку twitter
avatar
то есть скоро можно ждать обновление плагина?
avatar
с удовольствием бы потестировали. где скачать можно? в версии, что висит на сайте этого пока нет.
avatar
рамблер нафиг не нужен
Не скажи. У меня более 15% всех авторизаций через него. Раньше на Рамблере почтовые ящики весьма охотно заводили.
avatar
А как просмотреть данную инфу у себя на сайте? кто от куда авторизовался?
avatar
Обновление плагина — livestreet.ru/blog/addons/5458.html
  • ort
  • +1
avatar
Я с твиттером справить не могу. Надо создать приложение что бы получить — token & token_secret
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.