WordPress Россия

Плагин "WP-Yadis" позволяет использовать URL блога при OpenID-авторизации.

Добавлено 27 мая 2010 в категорию Плагины.

С помощью этого плагина вы можете использовать URL вашего собственного блога при OpenID-авторизации на сторонних сайтах. Плагин не делает ваш блог OpenID-провайдером, необходимость регистрации OpenID-аккаунта не отменяется, но зато теперь в качестве URL‘а будет использоваться именно ваш блог, а не адрес, данный вам OpenID-провайдером. Фактически это означает, что ссылка на ваш блог будет везде, где поддерживается OpenID: например, если вы оставите комментарий в чьем-нибудь дневнике в LiveJournal.com, то в качестве имени и ссылки будет использоваться адрес вашего блога.

Скачиваем плагин с его домашней страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку yadis в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Настройка плагина происходит в "ПараметрахYadis". Здесь вам необходимо добавить своего OpenID-провайдера. Формально плагин должен предоставлять выбор из указанных вами OpenID-провайдеров, но на деле оказалось, что никакой возможности выставить приоритет провайдерам нет: плагин просто не дает возможности добавить больше одного провайдера, при добавлении нового провайдера старый почему-то удаляется.

Где взять OpenID-аккаунт и что надо указать при добавлении OpenID-провайдера в настройках плагина? Зарегистрировать OpenID-аккаунт можно, например, на сайте MyOpenID.com, но на самом деле я уверен, что у вас уже есть OpenID-аккаунт. Если вы зарегистрированы в каком-то из сервисов Яндекса, то автоматически при регистрации получили и OpenID-аккаунт, проверить это вы можете зайдя на [ссылка] Лично мне Яндекс в качестве провайдера понравился намного больше, чем какой-либо другой провайдер, хотя настроек в нем гораздо меньше (этим, видимо, и понравился).

Заполняем поля (MyOpenID.com):
Add New Service: MyOpenID
Username: ник
OpenID Server: http://www.myopenid.com/server/
OpenID Delegate: http://ник.myopenid.com/

Заполняем поля (Yandex.ru):
Add New Service: Other…
Username: ник
OpenID Server: http://openid.yandex.ru/server/
OpenID Delegate: http://openid.yandex.ru/ник/

В разделах справок у любого OpenID-провайдера должна быть данная информация.

Добавили провайдера, а авторизация не работает? Недостаток плагина, который слишком долгое время не обновлялся. Редактируем файл yadis.php, чтобы плагин стал корректно работать. Находим строчку:

33
<meta http-equiv="X-XRDS-Location" content="'.get_option('home').($wp_rewrite->using_mod_rewrite_permalinks() ? '' : '/index.php').'/xrds" />';

Заменяем ее на:

33
<meta http-equiv="X-XRDS-Location" content="'.get_option('home').($wp_rewrite->using_mod_rewrite_permalinks() ? '' : '/index.php').'?xrds=1" />';

Также находим:

39
<link rel="openid.delegate me" href="'.$provider['delegate'].'" />';

И меняем на:

39
<link rel="openid.delegate" href="'.$provider['delegate'].'" />';

Все, теперь адрес вашего блога можно использовать при OpenID-авторизации. Как это выглядит на практике? Заходим на любой блог, который поддерживает OpenID-авторизацию. Например, на Nudnik.ru, идем в комментарии к любой из записей, видим, что для комментирования необходимо зарегистрироваться в блоге, но также можно зайти, используя OpenID-аккаунт:

Вводим адрес вашего блога и жмем OK. Нас тут же перенаправит на Яндекс, где необходимо всего лишь нажать на одну кнопку:

И это все, мы уже зашли на блог, минуя регистрацию на блоге, авторизацию и обновление своего профиля. Один клик и готово. Именно этим и подкупает OpenID, своей простотой.

Конечно, для того, чтобы использовать адрес своего блога при OpenID-авторизации вовсе не обязательно ставить плагин WP-Yadis. Можно это сделать и вручную, отредактировав файл header.php вашего шаблона и добавив туда что-то типа (в случае использования Яндекса):

<link rel="openid.server" href="http://openid.yandex.ru/server/" />
<link rel="openid2.provider" href="http://openid.yandex.ru/server/" />
<link rel="openid.delegate" href="http://openid.yandex.ru/ник/" />
<link rel="openid2.local_id" href="http://openid.yandex.ru/ник/" />

Но вариант с плагином хорош тем, что вы легко можете менять используемых OpenID-провайдеров, не редактируя каждый раз header.php вашего шаблона.

В следующий раз я расскажу, как сделать блог самостоятельным OpenID-провайдером и каким образом встроить поддержку OpenID-авторизации в вашем блоге.

 

Автор плагина: Will Norris

Страница плагина: [ссылка]

Рассматриваемая версия: 1.2.1 от 11.10.2008

Совместимость с версией WordPress: 2.2 и выше.

Категории