Талантливые программисты на Talent.UA :)
Главная страница IT-Stars
IT-STARS
Беседуют два программера:
- Блин, вчера моя жена мне позвонила, а модем трубку снял.....
- И чё?
- Да болтали полтора часа....
Follow us on Twitter
Работа в Харькове
Кадровые агентстваСтатьиО проектеИнформерыДосуг
Работа для программистов.
Вакансии и резюме программистов
и других IT-специалистов
Зарегистрироваться:
как соискатель
как работодатель

Версия для печати

«Делаем стартап гостеприимным» или «Как использовать OpenID на своем сайте»

19.07.2007 

«Делаем стартап гостеприимным» или «Как использовать OpenID на своем сайте»

Уверен, вам не раз подалась на глаза аббревиатура OpenID. Вполне возможно у вас сложилось мнение, что это эдакая модная штуковина, о поддержке которой все чаще заявляют различные популярные проекты. По большому счету так и есть, но зачем эта технология на самом деле нужна? Предположим, вы заядлый блоггер, у вас имеется учетная запись на wordpress.com, но случилось вам прочесть сообщение в чужом дневнике и возникло непреодолимое желание оставить автору комментарий. Но вот незадача — чужой дневник оказался на livejournal.com. Неужели только для того, чтобы оставить комментарий вам придется регистрироваться на «вражеском» блог-хостинге?! А вот и нет. В форме авторизации livejournal.com имеется малозаметная ссылка «Войти по OpenID». Вы переходите по этой ссылке, вводите свой идентификатор с wordpress (скажем, ivan.wordpress.com). Открывается «родной» wordpress.com и лукаво прищурившись интересуется у вас «Do you want to pass your identity to this „soup-admirers? site“?». Вы скрепя сердцем жмете «Yes; just this time», после чего оказываетесь на той злополучной странице livejournal.com c формой добавления комментария. Но (!) на этот раз вы авторизованы на ЖЖ под своей «вордпресосвской» учетной записью. Наконец-то можно оставить комментарий. Не пройдет много времени как в адрес OpenID прозвучит очередное «Wow!», но уже от пользователя livejornal.com, спешащего вернуть вам ответ.

OpenID — это децентрализованная система единой регистрации. Это несколько шире, чем заявлено на wordpress.com: «OpenID — это открытый стандарт, который позволяет вам авторизоваться на чужих сайтах, используя вашу учетную запись WordPress.com» :) Если вы зарегистрированы в проекте, являющимся, помимо прочего, провайдером OpenID, вы сможете авторизоваться под этой единственной учетной записью на любом сайте, поддерживающим OpenID. Звучит замечательно, идея — фантастика, но возникает резонный вопрос: «А много ли таких проектов, поддерживающих OpenID или это вопрос непредсказуемого будущего?». В принципе, не мало. Уже заявлено порядка 1200 сайтов, поддерживающих OpenID и каждый день прибывает 10-15 новых. Среди этих сайтов немало популярных проектов: Livejournal.com, Jyte.com, Vox.com. Wikitravel.org, Zooomr.com, Ma.gnolia.com, Iconbuffet.com, Basecamphq.com. Существуют модули интеграции для такого популярного ПО, такого как Wordpress, Joomla!, Plone, Drupal. MediaWiki, CakePHP, Symfony Framework. О поддержке технологии заявили Microsoft и AOL. Поддержка OpenID будет реализована в Firefox 3.0.

Но как использовать OpenID на своем сайте? Если вы собираете проект на фреймворке CakePHP или Symfony, вам достаточно настроить плагины CakePHP OpenID component и sfOpenIDPlugin соответсвенно. Если вы не используете фреймворк, но просто желаете привлечь пользователей лояльностью к регистрации на вашем проекте (быть может стартапе), проще всего воспользоваться маленькой библиотекой Simple OpenID PHP Class. В комплекте, доступном для скачивания помимо библиотеки, имеется скрипт примера, где в доступной форме показано как авторизовать пользователя посредством протокола OpenID. Единственная неприятность, с которой вы можете столкнуться — данная библиотека использует функции библиотеки расширения PHP Libcurl. Т.е. если ваш PHP собран с опцией -with-curl — все замечательно. Иначе использовать эту библиотеку едва ли получиться. Автор этого решения был вынужден использовать специфичные функции там где можно было бы обойтись более традиционными методами HTTP-запроса из-за того, что многие провайдеры OpenID требуют SSL-соединения.

Если же вы настроены более серьезно и собираетесь реализовать полноценное управление учетными записями пользователей в своем проекте, опираясь на популярные решения, такие как OpenID, LID (Light-Weight Identity) и Yadis воспользуйтесь библиотекой NetMesh InfoGrid LID PHP. Стоит также обратить внимание на PHP OpenID library. Однако в данном случае вам потребуется консольный PEAR-инсталлятор.

В заключении надо сказать, что имеется ряд нареканий к OpenID касательно уязвимости в безопасности. На мой взгляд, также необходимость чтения целостной HTML страницы для последующего анализа тегов микроформата — подход крайне неэффективный (в спецификации OpenID 2.0 запрашивается документ XRDS или Yadis-документ). Хотелось бы использовать REST, но на этот счет есть некоторые сомнения. Тем не менее, OpenID — как раз тот случай, когда замечательная идея все же работает. Так, что лично я буду рад, если смогу воспользоваться своей учетной записью OpenID на собранном вами новой оригинальном многообещающем проекте.

По вопросам размещения информации на сайте обращайтесь:
(057) 758-66-36, E-mail

Ведущие работодатели

Intego Group
Intego Group – это международная управляющая компания, представляющая интересы группы зарубежных партнеров, ведущих свою деятельность в области разработки программного обеспечения.
Вакансии компании

FulcrumWeb
Основанная в 2002-м году компания FulcrumWeb занимается разработкой ПО для крупных заказчиков из Европы и США
Вакансии компании

Компания Screen Interactive
Компания Screen Interactive специализируется на разработке, поддержке и продвижении веб-сайтов и является одним из ведущих интернет-разработчиков в г. Харькове.
Вакансии компании

© 2006–2017 IT-Stars.ua
Работа для программистов
Создание сайта
Screen Interactive
Поиск по сайту: 0.048
Вакансии на Вашем сайте