Ваш собственный OpenID
Многие думают, что OpenID — это что-то невероятно сложное в использовании. Вовсе нет. Давайте я покажу простой и полезный, для тех, у кого есть собственный сайт, пример использования OpenID. Как многие знают, для того, чтобы авторизоваться на чужом сайте, нужно иметь аккаунт на каком-нибудь сервере OpenID — ЖЖ, Li.Ru, MoiKrug, Ya.Ru и т. п. Если у вас есть логин в одном из этих сервисов, то у вас есть OpenID.
Что делать, если вы хотите подписываться у меня в комментариях не как «user.livejournal.com», а как «myblog.sample.com»? Наверное вам нужно будет установить себе на сайте собственный сервер OpenID? Правильно? Неправильно!
В OpenID есть интересная возможность — делегирование. Вы можете попросить другой OpenID-сервер выполнять функции OpenID на вашем сайте, достаточно иметь на этом другом сервере аккаунт. Для того, чтобы использовать эту возможность, нужно просто вставить две строки между открывающим и закрывающим тегом HEAD на первой странице вашего сайта. В одной строке нужно указать ваш OpenID (т. е. сам идентификатор) на другом сервере, во второй — URL используемого сервера.
Вот как это выглядит для сервера myopenid.com (кстати, очень рекомендую его к использованию):
<link rel="openid.server" href="http://www.myopenid.com/server/" />
<link rel="openid.delegate" href="http://ваш_ник.myopenid.com/" />
А вот так это будет выглядеть для Ya.Ru:
<link rel="openid.server" href="http://openid.yandex.ru/server.xml" />
<link rel="openid.delegate" href="http://openid.yandex.ru/users/ваш_ник" />
Так, для Живого Журнала:
<link rel="openid.server" href="http://www.livejournal.com/openid/server.bml" />
<link rel="openid.delegate" href="http://ваш_ник.livejournal.com" />
Для Liveinternet.ru:
<link rel="openid.server" href="http://www.liveinternet.ru/openid.php" />
<link rel="openid.delegate" href="http://http://www.liveinternet.ru/users/ваш_ник" />
Для того, чтобы изготовить эту строку для каких-то других сервисов пользуйтесь универсальным правилом: обычно значение поля «openid.delegate» совпадает с вашей персональной страницей на этом сервисе, а значение для «openid.server» можно взять из исходного кода той же страницы, там должен быть аналогичный тег LINK.
Спс :)
спасибо. как эта штука работает-то?
А почему же установка собственного сервера — это неправильно? Имхо, вполне себе правильно. Кроме того, это совсем просто. Вот здесь я писал об этом когда-то:
http://www.solargate.ru/ustanovka-openid-servera-v-drupal
Комментарий для solargate.ru:
Где я написал, что установка собственного сервера неправильно? Я пишу о том, что в этом нет необходимости.
Комментарий для laborant.myopenid.com:
О том как эта штука работает, можно прочитать в любом стандарте OpenID.
Комментарий для solargate.ru:
Хотя нет, я считаю, что для решения данной задачи (авторизация однопользовательского блога на других сайтах) установка OpenID — неправильно. Это, несомненно, из пушки по воробьям.
Ну это я на основании этой цитаты:
Ну я бы так не сказал. Установка своего сервера — задача немногим сложнее использования делегированного OpenID. Кроме того, к сожалению, не все сайты корректно работают с делегированными OpenID.
Комментарий для solargate.ru:
Я видел только один сайт, который неверно работает с делегированным OpenID, а если работает неверно, то комментрировать я там не буду, потому что посчитаю, что комментарии не работают.
Ставить какую-то сторонюю приблуду, для неё прописывать rewrite-правила в веб-сервере и так далее, это конечно же сложнее, чем написать два тега. Последнее требует куда более низкого уровня знания «всех этих вещей», чем установка своего OpenID.
Кстати, в рамках юзабилити-тестирования, а как сделать персональный ответ, не очевидно?.. :(
Комментарий для Евгения Степанищева:
В том варианте, который я описывал, никаких rewrite-правил описывать не нужно. В том-то и дело, что там все весьма просто. Ну да ладно, это все вопрос личного выбора.
Достаточно очевидно, но не особо удобно (читай непривычно). Имхо, было бы проще, если бы были древовидные каменты. Ну или даже если не древовидные, то с ссылкой под каждым каментом «ответить». Из списка выбрать, конечно, можно, но и забываешь, и не особо интуитивно (или непривычно просто).
Комментарий для solargate.ru:
Rewrite-правила конечно же нужны, причём в 90% случаев. У меня, например, ты же не думаешь, да, что эта заметка лежит в директории /2007/12/06/~1514 как index.html? Стоят rewrite для обработки, значит нужно приписывать исключение.
Чёрт, ссылки надо поправить в RSS для подписки на комменты, поломанные. Не обязательно из списка выбирать — достаточно на аватару кликнуть. Да, наверное, ответить проще, куда только это сунуть.
Комментарий для Евгения Степанищева:
Я наверное чего-то не понимаю, но причем тут openid и правила rewrite?
Комментарий для Евгения Степанищева:
Хмм, действительно, насчет клика на аватару я не допер. Не интуитивно понятно...
Женя, почини фид. Он периодически глючит и вытягивает постинги с www.bolk.exler.ru, хотя обычно без www.
Комментарий для solargate.ru:
OpenID и правила rewrite не связаны напрямую. Ситуация такая.
На кого расчитано то, что я написал? На очень неподготовленного пользователя, это видно по тому, что в заметке есть несколько однотипных готовых конструкций. Для того, чтобы поставить OpenID-сервер, этому неподготовленному пользователю нужно выполнить кучу телодвижений. В том числе прописать rewrite, так как почти все движки перенаправляют на себя обработку URL.
Для этого OpenID-пакета нужно, чтобы этот директорий (myopenid или куда там оно ставится) не перенаправлялся в обработчик, значит нужно писать rewrite-правило.
Насчёт клика на аватару не нужно допирать, это просо написано, рядом с select’ом выбора ника.
Комментарий для zliypes.com.ua:
Подробнее проблему. Я не понял. Какой из кучи фидов чинить? И в чём конкретно проблема? Какие-то ссылки с www, какие-то без? Так какой из фидов поломан?
test
Комментарий для Евгения Степанищева:
Хмм... А я никаких rewrite не прописывал при установке openid-сервера.
Комментарий для solargate.ru:
И так бывает. Зависит от того как организаван rewrite.
Комментарий для solargate.ru:
Древовидные комменты идут в пизду!
Комментарий для nudnik.ru:
+1. Ненавижу эту древовидность, механизм раздувания флейма. Кроме того, для них потом придётся делать «схлопование» на длинных тредах и unfold.
В общем, мысли по поводу подписки на комментарии такие:
1) под юзерпиком написать «ответить»
2) рядом с логином в форме комментария сделать иконку RSS для подписки.
Сработает?
Комментарий для lusever.ru:
Конечно, сработает :)
Древовидные — в пень, согласен, нефиг письками меряться в чужом треде, для этого аська есть
Комментарий для Евгения Степанищева:
спасибо!
спасибо
спасибо, да %)
Спасибо
Спасибо!
Классно! Сделал эту штуку под joomla в communitybuilder!
Извините, а уведомления приходить куда будут? OpenId не отдает мыла?
Комментарий для nicomashi.livejournal.com:
Эт я себя пробую
и как успехи?
Комментарий для kotoffeich.livejournal.com:
Все гуд!
Комментарий для nicomashi.livejournal.com:
У OpenID есть SRE, там можно запросить и мыло.
Проверка!
test
Спасибо/ Действительно удобно.
test
test
Вот интересный момент: я могу написать в качестве OpenID www.livejournal.com/users/karudo, а могу karudo.livejournal.com и для сайта, на котором я хочу оставить коммент это, судя по всему будут разные пользователи. Или есть возможность их таки как-то сопоставить?
Ну с ЖЖ то еще потяно как, а вот если завести свой сервер с OpenID, там этих страниц напложить можно целую кучу.
Комментарий для karudo.livejournal.com:
Сопоставить нельзя. OpenID — это система валидации URL, не больше.
тест
Комментарий для alexeyb.myid.net:
passed
test
Спасибо, для меня это актуально было.
Можно, да, проверить :)
интересно...
тест :)))
ещё раз проверю :))
Test
test
Хм... Что ж всё-таки не так с md5 у меня...
с этими опенайди такое ощущение что уже не люди общаются друг с другом а домены
и еще чемто фидонет напоминает или что то такое
там где у людей более строгие структурированные идентификаторы
а не просто рандомные ники
кстати не плохой способ размещать ссылки на свой сайт или блог ))
Комментарий для ivan.chistyakov.name:
А e-mail нет чувства, что не люди общаются, а домены? С Jabber?
bolk@bolknote.ru читается по-английски однозначно: «Болк с сайта bolknote.ru». Человек и место его «прописки».
А вот метод ФИДО — какие-то цифры и значки мне ни разу не близок.
Способ размещать ссылки на свой сайт ничем не лучше других — скажешь что-то, что человека заденет, он зайдёт, не скажешь, не зайдёт. Поисковики ссылки не сранжируют, все нужные теги выставлены.
Проверка
Спасибо зарегал опен ID — проверка :)
Эх, ещё побольше бы сервисов, которые не только раздавали OpenID, но и предоставляли бы услуги на его основе, хотяб чтоб блогхосты камменты позволяли бы оставлять, поисковики — вести историю поиска и прочии фишки...
Комментарий для dmitriykulikoff.ya.ru:
Сейчас уже очень много блогхостингов OpenID-комменты позволяют оставлять. А поисковики,… не понял идею, это как?
test
dasda
тест
прикольно, спасибо)
test
проверка
проверка
test
проверка
Спасибо за инфу!... тестим))
Проверка.
Очень полезная статья ))) Спасибо!
у меня в самом начале все работало, а сейчас не авторизуется на сайтах поддерживающих OpenID/ в чем дело не понятно
Комментарий для infato.livejournal.com:
У всех работает. Может провайдер OpenID протух?
tst
Спасибо. Воспользуюсь.
test
и у меня тоже тест
Ещё тест
Тест
Таак… Ещё тест
test
test
Спасибо! Всё работает.
Очень помогло .
Проверка
А как проверить работоспособность ОпенИд?
Кажется оно работает только если введешь полный путь, вместе с протоколом. А так работает?
Комментарий для orcinus.ru:
У вас просто не работает OpenID.
Комментарий для Евгения Степанищева:
А у меня? (test)
Комментарий для http://baka.name/:
По-прежнему — нет. ^_^
Комментарий для baka.name:
Почему бы просто не сделегировать откуда-нибудь?
test
Комментарий для baka.name:
Господи, что за моветон в исходниках? Сделайте все в нижнем регистре ибо движок у Волка не поддерживает парсинг OpenID прописанный в хеадере из больших букв.
Проверка
тест