Я пытаюсь создать персональный идентификатор на основе OpenID, используя мое доменное имя в качестве идентификатора. Я хочу иметь возможность выполнить все это:Советы по надежному OpenID с вашим собственным доменом
http://alvaro.es/
мой идентификатор.- Можете переключаться между поставщиками прозрачно.
- Зайдите на любой сторонний сайт, принимающий OpenID.
- Можете предоставить персональные данные (электронная почта, часовой пояс, аватар ...) и получить запрос о том, отправлять их или нет на сайты, которые их запрашивают.
- Принять OpenID на моих собственных (PHP-powered) сайтах без необходимости покупки SSL-хостинга.
Я прочитал the usual doc и я оценки нескольких OpenID-провайдеров (Google, Yahoo, myOpenID ... и даже running my own server). Дело в том, что я использовал OpenID некоторое время и:
- Провайдеры предлагают очень скудную документацию или вообще ничего.
- Независимо от того, какой поставщик я выбираю, всегда есть сайты, на которых лог-вход завершается с ошибкой (обычно без сообщения об ошибке).
- У меня мало управления (или вообще нет) на идентификаторе, возвращаемом поставщиком.
- Я все еще не могу понять, как все это действительно работает.
Я ищу общий совет, но я понимаю, что это может быть субъективным, поэтому я сделаю несколько конкретных вопросов.
До сих пор я пытаюсь из myOpenId в качестве поставщика и LightOpenID как потребитель. Мои вопросы:
My 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-адресом, предоставленным пользователем. Правильно ли это?Есть ли более адекватные провайдеры или библиотеки потребителей, чем те, которые я выбрал?
Очень четкий ответ, спасибо большое. Я никогда не буду полностью понимать OpenID, но я думаю, что, наконец, я собрал минимум, чтобы реализовать его на своих сайтах. –