-
10
Фев -
Сервер авторизации OpenID на собственном домене
- 20 комментариев
Давно хотел приладить OpenID к своему домену в качестве сервера авторизации, что бы при комментировании можно было указывать адрес своего блога в том же ЖЖ.
Перепробовал массу готовых php скриптов (Prairie, phpMyID, PHP OpenID Server, Clamshell, NetMesh InfoGrid LID PHP, SimpleID). Одни не устраивали тем, что требуется база данных (зачем она нужна для одного аккаунта?), другие тупо не хотели работать с одним сайтом, но работали с другим. Надежного автономного решения так и не нашлось.
Почитав спецификацию OpenID выяснил, что можно делегировать проверку полномочий стороннему серверу. На этом и остановился. Считаю, что лучше пусть этим занимается полноценный сервер, нежели недоделанные скрипты.
А теперь по порядку:
1) Заходим на www.myopenid.com и регистрируемся. В итоге получаем для авторизации адрес типа youraccount.myopenid.com
2) Добавляем следующий код в секцию HEAD своего сайта:
<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://youraccount.myopenid.com/" />
<link rel="openid2.local_id" href="http://youraccount.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=youraccount.myopenid.com" />
На этом всё. Не правда ли просто? Теперь при авторизации на любом сайте где требуется OpenID вы можете использовать адрес своего сайта.
Там же в myopenid можно заполнить ваши данные (почта, пол, ФИО, возраст, дата рождения, язык и т.д.) которые если потребуются для какого либо сайта, то будут автоматически выданы сервером.
P.S. youraccount надо заменить на ваш логин полученный при регистрации.
Читайте так же:
This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.
There are 20 комментариев
¬
#1151 10 февраля 2009 at 21:36
Всё это есть и на Яндексе:
openid.yandex.ru
openid.yandex.ru/info/delegation/
¬ Валентин
#1153 10 февраля 2009 at 22:32
О как. Не видел. Я тут кучу скриптов перерыл и сделал открытие практически для себя :)
Спасибо буду знать!
¬
#1606 21 марта 2009 at 14:09
поставил яндексовый роднее))
¬ vootshi
#2737 29 июня 2009 at 9:18
я один момент понять не могу — в какой ФАЙЛ надо код в тегах HEAD вставлять? на сайте то — php скрипты лежат... ниче не вкуриваю...
¬
#2738 29 июня 2009 at 9:20
авторизуюсь ка я у вас тут...
¬
#2739 29 июня 2009 at 9:59
я вот тока одного прикола не понимаю, мне ваш сайт в форму просит не только openid вводить но ещё и логин и мыло... а накой тогда вапще — OpenID URL нужен, если он ничего не подменяет?
¬ Валентин
#2744 29 июня 2009 at 11:27
Ничего но не просит кроме OpenID URL. Вводите его и авторизовываетесь у своего openid провайдера. Он сам отдаст моему блогу нужные поля.
¬
#2747 29 июня 2009 at 12:15
щас проверим... еслиф чо, потом этот флуд удалите... ввел только — vootshi.oneid.ru ...
да не, нифига, ваш сайт генерирует по адресу — gritsinger.com/wp-comments-post.php
сообщение след. толка — Ошибка: пожалуйста, заполните необходимые поля (имя, e-mail).
а потом ещё на такую форму отправляет —
OpenID Authentication Error
We were unable to authenticate your claimed OpenID, however you can continue to post your comment without OpenID:
лень скриншоты делать, да и не знаю я, вдруг у вас их прикреплять низя... в общем приходиться для публикации это сообщения — все поля кроме САЙТ заполнить...
это у вас косяк или у меня?
¬
#2900 10 июля 2009 at 15:11
Лучше Yandex
¬
#3093 21 июля 2009 at 15:49
Спасибо =)
¬
#3268 31 июля 2009 at 1:33
Проверяю openid, у меня выдает ошибку „OpenID Authentication Error:
We were unable to authenticate your claimed OpenID, however you can continue to post your comment without OpenID: “
Причем на нескольких сайтах, включая Ваш )
¬
#3552 16 августа 2009 at 1:21
А вот никак не могу с авторизацией разобраться...
¬
#5625 7 ноября 2009 at 18:47
Яндекс наше все )
¬
#7471 8 января 2010 at 18:11
Сделал все так, как описано у вас, ща пробую авторизоваться :)
ps требует имя и e-mail, что наверное не важно при авторизации через openid если я все правильно понял...
OpenID Authentication Error
We were unable to authenticate your claimed OpenID, however you can continue to post your comment without OpenID:
Вобщем резюме — не удается авторизоваться на блогах wordpress через openid используя 3 различных openid провайдера...
Что не так? Испробовал много разных вариантов...
¬
#7477 8 января 2010 at 23:24
Ну ведь теоретически надо давать только URL этого самого OpenID, иначе тепярется для прелесть!
Зачем мне давать незнакомым ресурсам свой email к примеру?
Так и здесь: форма *все равно* требует заполнения имени и электропочты...
PSю Тем более, что не рсабатывает тут — однако мой OPenID отлично сеья зарекомендовал!
¬
#7882 22 января 2010 at 7:00
пробуемс...)
¬
#7888 22 января 2010 at 8:31
Ну вот ведь я упрямый человек.
Это ведь Wordpress?
Два планига — XRDS / Yadis (уж не знаю для чего, но нужен). Добавляет два мета заголовка в header
OpenID 3 и выше — обственно OpenID
И все работает прекрасно!
¬
#7891 22 января 2010 at 8:31
Сработало :)
¬
#8335 12 февраля 2010 at 4:03
phpMyID база не нужна
¬
#8604 28 февраля 2010 at 13:13
А щас ? :)