Аутентификация с помощью открытого стандарта OpenID
Всем привет! Наверняка каждый из нас зарегистрирован на огромном количестве сайтов, но иногда становится лень заводить очередной аккаунт, заполняя различные формы и отвечая на вопросы капчи. Есть ли выход из этой ситуации?
Аутентификация с помощью OpenID — это хороший инструмент, позволяющий владельцам сайтов значительно упростить процедуру входа пользователей в учётную запись. При этом пользователям не потребуется вводить свои данные для регистрации.
Провайдеры OpenID в прошлом получили широкое распространение, в их число входили такие крупные компании, как Яндекс, Google, Mail.ru, Yahoo. Со временем, каждый из провайдеров один за другим стали прекращать свою работу по протоколам OpenID 1.0 и OpenID 2.0, предлагая более безопасные механизмы авторизации на других сайтах.
Актуальным на данный момент является третье поколение OpenID-технологии с дополнительными механизмами для надёжного шифрования и цифровой подписи, которое представляет собой аутентификационную надстройку над протоколом авторизации OAuth 2.0.
Новое поколение технологии имеет название OpenID Connect и позволяет сайтам проверить подлинность пользователя на основе аутентификации, выполненной сервером авторизации, а также получать базовую информацию о профиле пользователя.
Организациям, которые хотят обеспечить гарантию и подтвердить соответствие своего способа авторизации стандарту OpenID Connect, требуется пройти сертификацию в некоммерческой организации OpenID Foundation. Сертифицированные партнёры получают право размещать на своём сайте специальный знак:
Среди международных интернет-компаний, прошедших сертификацию OpenID, можно выделить Google, Yahoo, Microsoft, PayPal, Oracle, IBM и многие другие. В российском сегменте крупные компании проигнорировали возможность сертификации, но всё же предлагают своим пользователям API для авторизации на основе открытого протокола OAuth 2.0, в некоторых случаях с учётом требований OpenID Connect.
Делегирование OpenID
Владелец доменного имени может использовать его в качестве синонима (алиаса) к уже существующему OpenID-идентификатору, полученному у любого провайдера OpenID — эта процедура называется делегированием OpenID идентификатора. Вы также можете использовать домен сайта в качестве OpenID.
Существует несколько способов реализации делегирования: сертифицированные провайдеры, серверы, а также внешние библиотеки (на PHP, JavaScript, Python и других языках) — все они представлены в документации для разработчиков на официальном сайте.
Раньше мне доводилось пользоваться услугами популярного на тот момент провайдера myOpenID. Достаточно было зарегистрироваться у провайдера и добавить на свой сайт несколько мета-тегов, а для авторизации на других сайтах, поддерживающих вход с помощью OpenID, — указать свой домен и подтвердить разрешение на доступ.
Прекращение его работы, по словам основателя, связано с массовым распространением социальных сетей и почтовых сервисов, предлагающих свои методы аутентификации. Остаётся выбирать другого провайдера OpenID или использовать внешние библиотеки. А вы используете OpenID для авторизации на сайтах?
А чтобы на сайте можно было оставлять так сообщения, настраивать нужно?
Ответить
А я вот что-то с этим опеном никак не подружилась 🙁 Сколько не пыталась там зарегистрироваться, все время пишет, что такой е-майл уже есть в базе данных или что-то вроде того. Ну я и плюнула на это дело)))
Ответить
Кристина, у меня та же история! Вроде не полная идиотка, но настроить не смогла, сколько ни пыталась.
Сейчас думаю — это к лучшему. Не вижу ничего хорошего, что тебя постоянно просвечивают со всех сторон, связывая все аккаунты. Это какое-то виртуальное чипирование 🙂
Ответить
Кристина, угу у меня тоже нечто подобное. Сначала все получалось, а потом перестало работать.
Не знаю. Не работает у меня. Пытаюсь оставить коммент на блоге от Blogger, вставляю OpenID URL от Яндекса, перенаправляет на страницу Яндекса, возвращает в блог, но без комментария.
Почему так? Что-то не работает или я что-то не так делаю?
Ответить
Светлана Бобровская, замечается такое, что все кругом взаимосвязанным становится. Вроде система становится открытой и это хорошо, но и безопасность быть может снижается от такой интеграции…
Марина Лазарева, вероятно на том блоге включена модерация сообщений и Ваше просто не прошло проверку, стоит подождать. Я пробовал на своем аккаунте в Google, все получилось.
Ответить
Здравствуйте Денис. А Вы не разбирались как реализовать в подписи OpenID адрес своего блога? Вместо привычной сылки на регистратора с ником. Я видел статью в интернете 2008 года, в которой данную проблему решает плагин для wordpress «WP-Yadis». Но так как новая версия WordPress несколько раз обновлялась за прошедшее время, мне стремно его проверять. Может у Вас есть идеи по этому поводу.
Имхо: светить свой ник с адресом того же яндекса не имеет смысла (хоть это и упрощает возможность авторизации), нужно оставлять ссылку на свой ресурс иначе игра не стоит свеч!
Ответить
Avangardist, здравствуйте! Разбирался, делегирование OpenID как раз выполняет эту функцию.
Ответить
Аха, так вот что это такое, этот опенайди. И так все просто оказывается. Спасибо, Денис! 🙂
Ответить
Владимир, да, всё просто! Думаю пригодиться тем, кто часто комментирует блоги с возможностью входа по OpenID. В их числу в первую очередь относятся Blogger и LiveJournal.
Ответить
Да и не только блоги. Я часто вижу на различных сайтах, где требуется регистрация, чтобы получить доступ к чему-нибудь, нужно зарегистрироваться, либо войти через ФБ или ВК или ОпенАйди. Вот, буду теперь знать. Спасибо! 😉
Ответить
Когда-то тоже писал про это статью, только дополнительно предлагал варианты собственного OpenId сервера.
Сам же в результате остановился на OpenId от Яндекса для комментирования. Проблем с узнаванием (что иногда бывает на некоторых сайта) не возникает.
Ответить
Как-то сложно мне все это показалось…
Ответить
Xstroy, очень интересно! А я не стал всерьез пользоваться этим, только провел эксперименты, не более того. Редко на моем пути встречаются такие блоги, где есть возможность использовать OpenId, так что решил не загромождать страницу дополнительным кодом 🙂
Маргарита, в чем именно сложность? Могу подробнее объяснить. Самое простое — использовать сервера Яндекса, добавить мета-теги в заголовок — всё, можно пользоваться. Если не хотите светить свой логин от почты — воспользуйтесь услугами провайдера myOpenID.
Ответить
Ну народ-то любит, когда вот так, как у Вас форма сделана, а OpenID слишком сложно для простого обывателя.
Денис, дизайн такой свеженький у блога, только хочется текилу добавить к лайму, вместо подснежников! 😳
Ответить
Марина, ну при этом и регистрация у меня на блоге не требуется!
В том случае, если регистрация необходима — данный способ авторизации просто выручает. Так весна ведь, подснежники 😉
Ответить
Мдаа… плохо быть чайником. Всё сделала, как Вы сказали, кроме последнего шага. Никак не получается вставить/отредактировать код в редакторе. Снизу (в редакторе) такая надпись: «Чтобы сохранить изменения, нужно сделать этот файл доступным для записи». Что значит «сделать этот файл доступным для записи»? Заранее большое спасибо!
Ответить
Елена, назначить для файла через FTP клиент или через веб-интерфейс управления хостингом (в менеджере файлов) права доступа 644.
Ответить
А если зарегистрироваться таким образом, указав адрес своего домена. Будет перепадать часть вес сайта на котором комментирую на мой, указанный в опенайди?
Ответить
SEO осень, по идее да, чтобы убедиться окончательно, нужно смотреть исходный код элемента, быть может он закрывается от индексации.
Ответить
Для всех чайников хочу посоветовать OpenID провайдер Loginza. В нем есть виджет для авторизации с помощью социальных сетей. Нужно лишь зарегистрироваться и добавить код виджета на свою страницу, в конце кода заменить в скобках
[RETURN_URL]
на адрес обратной ссылки на Ваш сайт, куда будет возвращен пользователь после авторизации. Все просто и удобно. Есть руководство для начинающих.Самое главное Вам не надо регистрировать OpenID каждой социальной сети отдельно. Скрипт уже настроен для авторизации на всех известных социальных сетях. Нужно лишь добавить его код на свой сайт.
Ответить
Не могу понять, где посмотреть свой openID у Google?
Ответить
Насколько я понимаю, с тех пор много воды утекло и данный способ аутентификации больше не поддерживается.
Если вам необходимо предоставить пользователям возможность авторизации на сайте с помощью учетной записи Google, то воспользуйтесь функцией входа Google+
Ответить
Очень жаль, что в настоящее время всё это уже не работает 🙁
Ответить
Graf Avers, провайдер myOpenID закрыт, но есть и другие. Если интересно, посмотрите на официальном сайте актуальную информацию.
Ответить
Яндекс работал и работает прекрасно по настоящий момент 😮
Один из самых удобных способов. Нужно лишь наличие электронного почтового ящика. LiveJournal успешно комментируется через OpenID до сих пор.
Ответить
Может у меня паранойя, но не многовато ли развелось персональных идентификаторов? При желании любой эмитент подобных регистраторов будет знать о вас больше чем правоохранительные органы. Интернет — как решето в плане личной безопасности. Ничего в этом хорошего не вижу.
Ответить
Ребята, я вас обожаю. Тысячу раз уже заходил к вам на страницу и все время забываю сохранить ссылку на OpenID Google.
Ответить
Блин, засада! Провайдер myopenid закрылся, Яндекс отказался от поддержки OpenId, свой сервер (я когда-то описывал в своей статье) стал показывать ошибку. Понадобился OpenId для обычного сайта (для WordPress достаточно плагина) и не могу найти рабочее решение.
Денис, ничего рабочего на текущий момент не попадалось?
Ответить
Как организовать на своем домене точно не знаю, сейчас многие сервисы закрылись… А вот использовать почту на Mail.ru или Yahoo в качестве OpenID все еще можно.
Ответить
Свой домен будет оставаться при авторизации? Это основной критерий…
Ответить
Нет, свой домен не получится использовать, а других действующих провайдеров с такой функцией я не нашел.
Есть возможность запустить на своем сервере, используя внешнюю библиотеку. Некоторые варианты могут оказаться нерабочими, нужно проверять.
Ответить
В том-то и прикол, что у Яндекса хватало записи в заголовке, а у варианта с phpMyID было всего два PHP файла + мета-теги в заголовке.
Исходников phpMyID уже нет в открытом доступе, но мне удалось их найти. Вот они и барахлят. Другие варианты тяжеловаты…
Ответить
Хех, поговорил с тобой и вылечил phpMyID. Оказалось проблема была в изменении функций у новой версии PHP. Удачи!
Ответить
Xstroy, а можно поподробней про phpMyID. В своё время настроил OpenID по вашим рекомендациям от Яндекса. Теперь как-то всё поменялось. Попытался от mail.ru сделать по аналогии с Яндексом, но не получается (при авторизации в ЖЖ происходит перенаправление на mail.ru), тем более, что я в этом ничего не понимаю.
Ответить
Самурай, пробовал тоже найти работающих провайдеров OpenID, чтобы свой url отдавали, но не удалось. У меня в статье есть ссылка на блог Кумира святого Исидора, у него выложен архив урезанной версии phpMyID (всего два файла).
Скрипт рабочий, если изменить одну из функций (по ней выскочит ошибка при установке). Причина — изменение формата написания названия этой функции в PHP 5.3+ На хостинге с более ранней версией PHP (можно на денвере опробовать) всё и так работает.
Ответить
В мэйле OpenID уже нельзя получить! При заходе на страницу просто выбивает на главную без объяснения причин, в Яндексе хотя бы написали что больше не поддерживается, а эти не уважают пользователей 😐
Ответить