Создание OpenId для своего сайта. Делегирование OpenId.

OpenId - это универсальный способ идентификации в интернете. Сам OpenId выглядит как адрес веб-сайта, нечто вроде "vasya_pupkin.openid.com". Существует множество провайдеров, у которых можно получить "адрес" OpenId, но не лучше ли использовать "вашсайт.com" вместо "вашеимя.провайдер.com"? Помимо того, что оно выглядит симпатичней, это хороший способ продвижения своего сайта, поскольку OpenId часто показывается как есть в сообщениях и комментариях, где другие html-ссылки запрещены.

В принципе, можно сделать собственного провайдера OpenId, но для вышеупомянутых целей (выглядеть круто и саморекламы) - это стрельба из пушки по воробьям. Использование существующего провайдера гораздо легче в настройке и обслуживании, а результат получается ничуть не хуже, поэтому начнём с получения OpenId. Погодите секунду, возможно у вас уже есть OpenId. Вы можете об этом не догадываться, но если у вас есть блог на blogger.com (например, мой - isteriki.blogspot.com), wordpress, livejournal или некоторые другие распространённые аккаунты, это всё, что вам нужно. Неважно, что ваш блог на вордпрессе пуст и носит наивное название "vasya-i-masha-vmeste-navsegda.wordpress.com" (и вместо Маши уже давно Катя, а до неё были две Оли), а сайт, для которого вы хотите сделать OpenId называется "victor-tsoy.ru" - для наших целей он сгодится, если вы не потеряли пароль от "vasya-i-masha..." (на всякий случай, не забудьте сменить его, чтобы Маша не смогла войти и сделать пакость). Пропускайте следующий абзац, если OpenId у вас уже есть.

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

Итак, теперь, когда у вас уже есть OpenId, самое время настроить нечто, называемое "делегированием" - перенаправление адреса вашего сайта для аутентикации с помощью имеющегося OpenId. Сначала нужно найти адрес сервера OpenId. Он зависит от провайдера и спрятан в дебрях справочного раздела, например для myopenid.com адрес сервера - "http://www.myopenid.com/server". Если у вас OpenId от blogger, wordpress или livejounal, откройте исходный код вашей домашней страницы (правый щелчок мыши и дальше показать код) и найдите строку вида


<link rel="openid.server" href="адрес вашего OpenId сервера здесь" />

Подытожим мои допущения: У вас есть OpenId вида "http://vasya-i-masha-vmeste-navsegda.wordpress.com" и ваш сервер OpenId - "http://vasya-i-masha-vmeste-navsegda.wordpress.com/?openidserver=1". Сайт, для которого вы хотите сделать "красивый" OpenId называется "victor-tsoy.ru". Осталось сделать самую малость - добавить следующие строчки в секцию "<head>" заглавной страницы victor-tsoy.ru:

<head>
  ...
  <link rel="openid.server" href="http://vasya-i-masha-vmeste-navsegda.wordpress.com/?openidserver=1" />
  <link rel="openid.delegate" href="http://vasya-i-masha-vmeste-navsegda.wordpress.com" />
</head>

Это всё! Можете испытать ваш OpenID в форме ниже:

OpenID:

См. также Делегирование OpenId для сайта на Drupal 7.