Статьи

OSCON 2006: практический OpenID

Дэвид Рекордон ( Six Apart , затем Verisign ) и Брайан Эллин ( JanRain ) с самого начала держали свои пальцы в OpenID. OpenID — это открытая система аутентификации пользователей, основанная на предположении, что люди владеют URL-адресами. Первоначально система была разработана для аутентификации пользователей, которые хотят комментировать сообщения в блоге, в попытке уменьшить количество спама в комментариях. Он был разработан, чтобы быть очень простым, так что пользователям нужно только понимать, как писать HTML, чтобы использовать систему.

Проект OpenID 2.0 (недавно принятый в инкубатор Apache ) расширяет первоначальную область применения OpenID, добавляя такие средства, как обмен сообщениями, но остается верным оригинальному духу OpenID: простоте и открытости.

Важно отметить, что OpenID не занимается вопросом доверия — OpenID позволяет только человеку доказать, что он или она владеет определенным URL-адресом, но не дает вам никакой информации о надежности этого человека.

Самая большая особенность OpenID — это децентрализованность
природа. Любой желающий может настроить свой собственный сервер OpenID, который может
хранить учетные данные пользователя и предоставлять услуги аутентификации для тех,
пользователи любого сайта или приложения, поддерживающего OpenID.

OpenID в настоящее время широко применяется среди служб блогов и программного обеспечения; однако, есть активный толчок, чтобы увидеть его в более широком масштабе. Существует даже программа вознаграждения, учрежденная заинтересованными компаниями, которая заплатит 5000 долларов за приложение, в котором реализована базовая поддержка OpenID.

Встраивание поддержки OpenID в ваше собственное веб-приложение означает, что вы можете тратить меньше времени на реализацию таких вещей, как аутентификация пользователей, и вашим пользователям не нужно запоминать новый набор учетных данных только для вашего сайта.

Как пользователь, настройка вашей собственной идентификации OpenID включает в себя простую регистрацию на таком сервере OpenID (например, MyOpenID предоставляет бесплатный сервер OpenID), а затем включает в свой заявленный URL-адрес следующие HTML-элементы ссылки, которые утверждают сервер (ы) OpenID, с которыми Вы хотите, чтобы сайты проверяли ваши учетные данные:

  <link rel="openid.delegate" href="http://brian.myopenid.com/" />
<link rel="openid.server" href="http://www.myopenid.com/server" />

Альтернативный формат XML для предоставления этих деталей без встраивания их в веб-страницу также существует.

Далее Эллин продемонстрировал код, связанный с добавлением поддержки OpenID в приложение Ruby on Rails, используя библиотеку поддержки OpenID для Ruby, разработанную его компанией JanRain.

OpenID также может быть расширен за счет включения простой информации о регистрации пользователя (например, адреса электронной почты, псевдонима, местоположения, часового пояса и т. Д.), И Эллин также продемонстрировал это.

Аудитория в этом выступлении, казалось, была очень обеспокоена тем, что все потенциальные проблемы безопасности были рассмотрены, и Рекордон и Эллин ответили на эти проблемы с апломбом.