Я пытаюсь создать личную онлайн-идентификацию на основе OpenID, используя мое доменное имя в качестве идентификатора.Я хочу иметь возможность выполнить все это:
- Сделать
http://alvaro.es/
моим идентификатором. - Уметь прозрачно переключать провайдеров.
- Войти в любой третийсторонний сайт, который принимает OpenID.
- Уметь предоставлять личные данные (адрес электронной почты, часовой пояс, аватар ...) и получать подсказки, отправлять их или нет на сайты, которые их запрашивают.
- Принимайте OpenID на моих собственных (на базе PHP) сайтах без необходимости покупки SSL-хостинга.
Я прочитал обычный документ и оценивал несколькоOpenID провайдеры (Google, Yahoo, myOpenID ... и даже на моем собственном сервере ).Дело в том, что я уже некоторое время использую OpenID и:
- Провайдеры предлагают очень скудную документацию или ее совсем нет.
- Независимо от того, какого провайдера я выбираю, всегда естьсайты, на которых не удается войти в систему (обычно без сообщения об ошибке).
- У меня мало контроля (или его вообще нет) над идентификатором, возвращенным провайдером.
- Я до сих пор не могу понятькак все это действительно работает.
Я ищу общий совет, но я понимаю, что это может быть субъективным, поэтому я сделаю несколько конкретных вопросов.
ПокаЯ пытаюсь myOpenId в качестве поставщика и LightOpenID в качестве потребителя.Мои вопросы:
Мой URL содержит заголовок HTTP:
X-XRDS-Location: http://kalvaro.myopenid.com/?xrds=1
... и следующие теги HTML:
<link rel="openid.server openid2.provider" href="http://www.myopenid.com/server">
<link rel="openid.delegate openid2.local_id" href="http://kalvaro.myopenid.com">
Это правильно?Достаточно ли этого?
myOpenID предоставляет Ваши домены , функцию регистрации вашего собственного доменного имени, но я не осмелился проверить его (нужны изменения вDNS) и форма конфигурации предлагает мне выбрать между http://openid.alvaro.es/username
и http://username.alvaro.es/
в качестве идентификатора (не http://alvaro.es/
).Тем не менее, Stackoverflow по-прежнему сообщает alvaro.es
как мой идентификатор без этой функции.Нужно ли его использовать?
При реализации LightOpenID я сопоставляю локального пользователя с $openid->identity
(где $openid
- это экземпляр объекта LightOpenID
).Этот атрибут является URL-адресом, предоставленным пользователем.Это правильно?
Есть ли более подходящие провайдеры или библиотеки потребителей, чем те, которые я выбрал?