Статья размещена автором Бетке Сергей Сергеевич

OpenID и WordPress: OpenID в своём блоге (provider + consumer)

По ряду причин имею учётную запись на яндексе. Познакомился с OpenID, а теперь обеспечим поддержку OpenID для своего блога.


Яндекс – как OpenID провайдер для нашего блога

Почитал блог одного из программистов Яндекса. После чего и задумал применить OpenId в своём блоге.

OpenID и WordPress: OpenID в своём блоге (provider + consumer)Чтобы решить проблему авторизации с помощью OpenID на своём блоге, подключил плагин Loginza, и Вам советую. При регистрации пользователи получат возможность регистрироваться через диалог, изображённый справа.

И теперь свяжу свою собственную запись в своём собственном блоге с учётной записью на Яндекс. OpenID и WordPress: OpenID в своём блоге (provider + consumer)Для этих целей переходим в Консоль управления / Пользователи / Ваш профиль. В разделе Имя находим опцию Прикреплённый аккаунт (поставляется плагином Loginza), нажимаем Изменить. И выбираем сервис, в нашем случае – Яндекс.

OpenID и WordPress: OpenID в своём блоге (provider + consumer)Следом получаем запрос от Яндекса. Следует подтвердить подключение. И всё – теперь я могу зарегистрироваться на собственном сайте с помощью моего логина на Яндексе.

OpenID и WordPress: OpenID в своём блоге (provider + consumer)В профиле пользователя в консоли управления WordPress результат виден так, как показано на рисунке слева.

Минусы и перспективы

При использовании плагина Loginza следует помнить, что Ваш профиль получает Ваш сайт не непосредственно, а через http://loginza.ru/api/sergey-s-betke.blogs.novgaro.ru/ в моём случае. Для “начинающих” подойдёт, а в дальнейшем хочется избежать “утечки” информации. Для чего нам потребуется поддержка OpenID  (желательно – 2.0), в идеале – openid провайдер на собственном блоге. Для нашей записи – провайдер (чтобы с ней же и подключаться к тому же яндексу), для читателей – зависимая сторона.

Безусловно, можно завести свой id на официальном сайте проекта, но хочется в конце концов рассматривать свой собственный сайт как центр своей же авторизации. И в этом Loginza нам уже не поможет – она предлагает свой openid провайдер, но мы же не этого хотим.

Уходим от Loginza

Если писать провайдера самому, то помогут нам в этом библиотеки проекта. Однако, для начала поищем плагины. И находим. Ставим плагин: OpenId. И отключаем loginza, естественно.

OpenID и WordPress: OpenID в своём блоге (provider + consumer)Настроим OpenId. После активации идём Параметры / OpenId. Выбираем учётную запись владельца блога (то есть – свою :-)). После этого url Вашего блога (а в моём случае – http://sergey-s-betke.blogs.novgaro.ru) и станет Вашим OpenID.

OpenID и WordPress: OpenID в своём блоге (provider + consumer)Настроим для своей учётной записи внешний openid (на всякий случай, я взял http://sergey-s-betke.ya.ru). Идём в консоли Пользователи / Ваши OpenId. (да-да, плагины ещё не переведены на русский язык. Переведу – выложу переводы). OpenID и WordPress: OpenID в своём блоге (provider + consumer)Добавляем openid. После того, как всё добавлено и настройки сохранены, можно регистрироваться на сайте с указанным openid (в моём случае – http://sergey-s-betke.ya.ru). И работает!

OpenID и WordPress: OpenID в своём блоге (provider + consumer)Теперь проверим функционирование OpenId провайдера, можно хотя бы и здесь: http://govnokod.ru/. Идём и пробуем авторизоваться с openid. Я использовал http://sergey-s-betke.blogs.novgaro.ru. В результате получаю запрос (на картинке слева, да-да, пока – не на родном языке). Ставим галку и нажимаем Continue – и наш блог уже выступил в роли OpenId провайдера для указанного выше сайта.

Итак, мы обеспечили поддержку OpenID в полной мере установкой всего двух плагинов.

Рекомендации

Читаем readme к плагину и видим – ему требуется XRDS-Simple. Рекомендую поставить, позволяет прозрачно контролировать генерацию XRDS файла для OpenId 2.0.

Отзывы » (8)

  1. Этот комментарий отправлен исключительно с помощью openId — набрал http://sergey-s-betke.ya.ru в строке «адрес сайта» — и сам комментарий. И всё.

  2. >Читаем readme к плагину и видим – ему требуется XRDS-Simple. Рекомендую поставить, позволяет прозрачно контролировать генерацию XRDS файла для OpenId 2.0.

    XRDS-Simple последовательность установки плагинов имеет значение? (Иными словами: можно ставить XRDS-Simple после установки OpenId?)

  3. [...] не заниматься копипастом,  сразу направлю вас в блог к Бетке Сергею, где можно найти необходимую и достаточную информацию [...]

  4. shs:

    Похоже, что на новых версиях движка wordpress этот плагин перестал работать :( Теперь мне не удается использовать адрес своего блога в качестве OpenID, не смотря на то, что плагин рабортует о том, что «все ок» в своем SystemStatus. Об этом же пишут пользователи на странице плагина: http://wordpress.org/extend/plugins/openid/

  5. Мое предыдущее сообщение о том, что OpenID перестал работать еще находится на предмодерации (а потому еще не отображается). После некоторых шаманских действий OpenID-провайдер все-таки заработал. Что было сделано (прочитал http://wordpress.org/support/topic/plugin-openid-update-to-302-broke-plugin?replies=2 , а так же http://code.google.com/p/diso/issues/list ). Попутно исправил ошибку 162 (см. http://disorder.ru/archives/140).
    Удалил в Users->Your OpenIDs единственный прописанный на этой странице OpenID, представляющий из себя URL на мой блог. При попытке добавить его обратно получил сообщение об ошибке.
    Удалил в поле Users->Your Profile—>OpenID Delegation адрес своего блога, оставив это поле пустым. После этого удалось добавить (вернуть обратно) OpenID в Users->Your OpenIDs. И, вот, наконец мне удалось авторизоваться в вашем блоге при помощи OpenID.

    • Спасибо за сообщение. В целом, крайне полезной оказалась информация от disorder.ru. Но все эти проблемы никак не проявляются на IIS7 (а у меня именно IIS7 + PHP 5.3.6). Поэтому я проблемы «не ощутил». Сейчас проверил и provider, и consumer на двух своих сайтах — всё живёт в обе стороны, посему делаю вывод, что указанная проблема IIS7 не затрагивает.
      Указанная выше ссылка оказалась полезной больше в плане информации о том, что меня ждёт при переходе на внешний хостинг (он же точно будет не IIS). Сейчас попробую у Вас на сайте оставить комментарий через свой openid, получилось. Так что OpenID на IIS работает по-прежнему (одна из причин — permalinks на IIS несколько проще организовать, и не возникает поэтому проблем, с ними связанных).
      P.S. Статья то Ваша обновилась существенно. Я в случае сущесвенного обновления статьи и дату её меняю на текущую, чтобы те, кого интересует мой блог, увидели изменения. За Вашим блогом слежу по своему «подвалу» (там через RSS затянуты анонсы Ваших последних статей), поэтому изменений указанной статьи просто не видел.

Опубликовать комментарий

XHTML: Вы можете использовать следующие HTML теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tags Связь с комментариями статьи:
RSS комментарии
Обратная ссылка