RigWEB

Как использовать свой домен в качестве OpenID

И снова всем здравствуйте, друзья! Продолжая тему использования OpenID для входа на сайты, сегодня я предлагаю ознакомиться с инструкцией как использовать свой домен в качестве идентификатора авторизации, т.е. как из домена сделать OpenID.

Как использовать свой домен в качестве OpenID

Вначале предлагаю пройти по ссылке приведенной выше и прочитать первый пост, чтобы иметь общее представление об этой технологии аутентификации без предварительной регистрации пользователей.

Провайдеры и понятие делегирования OpenID

Для этого нам понадобится найти подходящего провайдера идентификации, бесплатными услугами которого мы воспользуется. Поиски привели меня на openid.net — по всей видимости официальный сайт, если довериться Википедии.

Кстати, на Википедии также можно найти и более подходящее наименование процедуре использования домена для авторизации — Делегирование OpenID. Что скрывается под этим определением?

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

Дабы не пугать Вас страшными терминами, поясню что такое алиас — это зеркало сайта, его синоним, самый близкий для нас пример — домены с www и без него. Если обратиться к первой статье на тему OpenID, то и там можно встретить алиас, помните Yahoo предлагает использовать длинный идентификатор, но наряду с этим можно выбрать и упрощенную версию — это тоже синонимы.

Get an OpenID - получить OpenIDДело остается за малым — выбрать поставщика услуг, провайдера OpenID. Список провайдеров находится на сайте openid.net — найти его можно пройдя по ссылке Get an OpenID на главной странице.

Сюрприз! Пройдя по ссылке увидим ранее упомянутые готовые решения, а чуть ниже и сам список, под заголовком Other Well Known & Simple Providers:

Провайдер OpenID

Мне больше приглянулся myopenid.com. Во-первых — это первый провайдер как для индивидуальных пользователей, так и для бизнес-проектов. Во-вторых только он имеет поддержку русского языка в своем интерфейсе, правда перевод выполнен кусками — то английский, то русский (если у Вас на главной странице все исключительно на английском — в подвале есть ссылка на изменение предпочтительного языка).

Делегирование OpenID — используем свой домен

Регистрация на myOpenID позволит:
Получить идентификатор авторизации на myOpenID

  • просто и удобно авторизовываться на сайтах;
  • выполнить безопасный вход;
  • просматривать отчеты по активности учетной записи.

Для начала регистрации нажимаем на главной странице кнопку Получить OpenID и в дальнейшем следуем инструкции, а именно: выбираем логин, пароль, почту, соглашаемся с условиями пользовательского соглашения.

Зарегистрировать OpenID

Учетная запись OpenIDДалее настраиваем нашу учетную запись, на вкладке Регистрируемые имена. На ней есть очень много полей для заполнения персональной информации.

Я заполнил имя, электронный ящик и адрес сайта, а также прикрепил изображение. Остальные поля заполнять не стал, да и обязательным это требование не является :o

Кроме этой вкладке есть масса других, очень любопытно по ним пройтись, может найдете что-то интересное для себя.

Делегирование OpenID

Далее если воспользоваться справочной системой, то найдем информацию о делегировании, как использовать адрес (URL) домена для авторизации с использованием myOpenID в качестве основного сервера авторизации по OpenID.

Для этого в заголовке страницы внутри тегов head нужно вставить код, невидимый для посетителей. Если Вы используете WordPress, то редактируйте файл header.php:

1
2
3
4
5
<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://webliberty.myopenid.com/" />
<link rel="openid2.local_id" href="http://webliberty.myopenid.com" />
<link rel="openid2.provider" href="http://www.myopenid.com/server" />
<meta http-equiv="X-XRDS-Location" content="http://www.myopenid.com/xrds?username=webliberty.myopenid.com" />
Внимание! В строках 2, 3, 5 поменяйте webliberty на свой логин в myOpenID.

На этом настройки завершены. Теперь для авторизации на сайтах, поддерживающих вход с помощью OpenID достаточно ввести свой домен и подтвердить всплывающем окне разрешение на доступ. Комментирование блогов на Блоггере также успешно проходит с помощью этого метода.

А также нужно отметить, что не обязательно для этих целей пользоваться myOpenID, можно использовать сервер Яндекса для этих целей. По аналогии вставляем код:

1
2
3
4
5
<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/webliberty/" />
<link rel="openid2.local_id" href="http://openid.yandex.ru/webliberty/" />
<meta http-equiv="X-XRDS-Location" content="X-XRDS-Location: http://openid.yandex.ru/webliberty/yadis/" />

И по аналогии не забываем менять webliberty на свой логин на Яндексе.

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

Между прочим на вкладке Your Domains можно подключить OpenID для использования на своем домене, для этого потребуется внести изменения в настройки DNS, добавляя CNAME запись, но это уже совсем другая история)

Обновлено: сервис myopenid.com закрыт 1 февраля 2014 года.

Рубрика: Сайтостроение
  1. Владимир Жданов

    Аха, так вот что это такое, этот опенайди. И так все просто оказывается. Спасибо, Денис! :smile:

    Ответить

  2. Webliberty

    Владимир, все просто) Число серверов, предоставляющих подобные услуги не ограничивается упомянутыми мною. Использовать или нет такие настройки — решать каждому, но скорее всего пригодиться тем, кто часто комментирует блоги с возможностью входа по OpenID. В их числу в первую очередь относятся Блоггер и ЖЖ.

    Ответить

  3. Владимир Жданов

    Да и не только блоги. Я часто вижу на различных сайтах, где требуется регистрация, чтобы получить доступ к чему-нибудь, нужно зарегистрироваться, либо войти через ФБ или ВК или ОпенАйди. Вот, буду теперь знать. Спасибо! ;-)

    Ответить

  4. Xstroy

    Когда-то тоже писал про это статью :o , только дополнительно предлагал варианты собственного OpenId сервера.
    Сам же в результате остановился на OpenId от Яндекса для комментирования. Проблем с узнаванием (что иногда бывает на некоторых сайта) не возникает.

    Ответить

  5. Маргарита

    Как-то сложно мне все это показалось…

    Ответить

  6. Webliberty

    Xstroy, очень интересно :smile: А я так и не стал останавливаться на этом, потестировал на примерах и все) Редко на моем пути встречаются такие блоги, где есть возможность использовать OpenId, так что решил не загромождать исходный код страницы.

    Маргарита, в чем именно сложность, если что могу подробнее объяснить. Самое простое — использовать сервера Яндекса, меняете пару строк в последнем приведенном примере и вставляете в заголовок — все, можно пользоваться. Если не хотите светить свой логин от почты — воспользуйтесь myOpenID.

    Ответить

  7. Марина

    Ну народ-то любит, когда вот так, как у Вас форма сделана ;-), а опен-ид..- гиммор тот ещё. Денис, дизайн такой свеженький у блога, только хочется текилу к лайму вместо подснежников! :oops:

    Ответить

  8. Webliberty

    Марина, ну при этом и регистрация у меня на блоге не требуется) В том случае если регистрация необходима — данный способ авторизации просто выручает. Так весна ведь, подснежники ;-)

    Ответить

  9. Елена Рольхайзер

    Мдаа… плохо быть чайником. Всё сделала, как Вы сказали, кроме последнего шага. Никак не получается вставить/отредактировать код в редакторе. Снизу (в редакторе) такая надпись: «Чтобы сохранить изменения, нужно сделать этот файл доступным для записи.» Что значит «сделать этот файл доступным для записи»? Заранее большое спасибо!

    Ответить

  10. Webliberty

    Елена, назначить для файла через FTP клиент или через веб-интерфейс управления хостингом (в менеджере файлов) права доступа 644.

    Ответить

  11. SEO осень

    А если зарегистрироваться таким образом, указав адрес своего домена. Будет перепадать часть вес сайта на котором комментирую на мой, указанный в опенайди?

    Ответить

  12. Webliberty

    SEO осень, по идее да, чтобы убедиться окончательно, нужно смотреть исходный код элемента, быть может он закрывается от индексации.

    Ответить

  13. Graf Avers

    Очень жаль, что в настоящее время уже не работает это все. :sad:

    Ответить

  14. Webliberty

    Graf Avers, myOpenID закрыт, но есть и другие провайдеры, я конечно не ручаюсь, но можно попробовать ими воспользоваться)

    Ответить

  15. Xstroy

    Яндекс работал и работает прекрасно по настоящий момент :o
    Один из самых удобных способов. Нужно лишь наличие собственного ящика у Яши. ЖЖ комментируется на ура…

    Ответить

  16. Xstroy

    Блин засада… myopenid закрылся, Яша отказался от поддержки OpenId, свой сервер (что я когда-то описывал в статье) стал отдавать ошибку. Понадобился OpenId для обычного сайта (для WP достаточно плагина) и не могу найти рабочее решение.

    Денис, ничего рабочего на текущий момент не попадалось?

    Ответить

  17. Webliberty

    Как организовать на своем домене точно не знаю, сейчас многие сервисы закрылись… А вот использовать почту на Mail.ru или Yahoo в качестве OpenID все еще можно: http://webliberty.ru/openid/

    Ответить

  18. Xstroy

    Свой домен будет оставаться при авторизации?
    Это основной критерий…

    Ответить

  19. Webliberty

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

    Ответить

  20. Xstroy

    В том-то и прикол, что от яши хватало записи в шапке, а в варианте с phpMyID было вообще 2 php файла + запись в шапке) phpMyID исходников уже нет, но я нашёл. Вот они и барахлят. Другие варианты тяжеловаты…

    Ответить

  21. Xstroy

    Хех :o погутарил с тобой и вылечил phpMyID. Оказалось проблема была в смене функций в новой версии php. Удачи!

    Ответить

  22. Самурай

    Xstroy, а можно поподробней про phpMyID. В своё время настроил OpenID по вашим рекомендациям от Яндекса. Теперь как то всё поменялось. Попытался от mail.ru сделать по аналогии с Яндексом, не получается, (при авторизации в ЖЖ происходит перенаправление на mail.ru), тем более, что я в этом ничего не понимаю.

    Ответить

  23. Xstroy

    Самурай, пробовал тоже найти работающих провайдеров openid, чтобы свой url отдавали, но не удалось. У меня в статье есть ссылка на блог Кумира святого исидора, у него выложен архив урезанной версии phpMyID (всего два файла).
    Скрипт рабочий, если изменить одну из функций (по ней выскочит ошибка при установке). Причина — изменение формата написания названия этой функции в php 5.3+ На хостинге с более ранней версией php (можно и на денвере опробовать) всё пашет и так.

    Ответить

Ваш комментарий:

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: