Comments 61
тоже как-то ковырял Simple OpenID PHP Class (class.openid.v3.php), самым сложным было прикрутить авторизацию через google аккаунт. в итоге все заработало, но до реального проекта не добралось.
0
может поделитесь опытом?
0
могу поделиться результатом pastebin.com/FXqufdb4
0
Отлично и об отличной технологии!
Прям захотелось продолжить попытки внедрения, но разъясните пожалуйста, как зарегистрировать пользователя, вернее по каким параметрам его можно идентифицировать?
Прям захотелось продолжить попытки внедрения, но разъясните пожалуйста, как зарегистрировать пользователя, вернее по каким параметрам его можно идентифицировать?
+2
Если ходит по openID, тогда уникальным является его идентификатор (URL). Если нужно скомбинировать с традиционной авторизацией (логин-пароль), тогда на этапе создания профиля openID еще предлагать придумать уникальный логин. Зайти под таким логином, естественно, не получится, так как пароль рандомный, и нет возможности сменить.
0
Вот, может быть вы мне объясните. Зачем вообще нужно вводить идентификатор OpenID, если потом тебя всё равно заставляют придумывать идентификатор уже внутри сервиса? Разве это не взаимоисключающие понятия?
+1
*не минусовал, но объясню
Если ресурс, который использует авторизацию по OpenID, является ресурсом, на котором можно общаться, оставлять сообщения и совершать публичные действия — то появляется необходимость как либо визуально идентифицировать пользователя. Конечно можно использовать для этого введенный идентификатор, но пользователь не всегда может желать использовать(или раскрывать) идентификатор OpenID. Причин много, и каждый может придумать их не один десяток — так что это дает пользователю право выбора
Если ресурс, который использует авторизацию по OpenID, является ресурсом, на котором можно общаться, оставлять сообщения и совершать публичные действия — то появляется необходимость как либо визуально идентифицировать пользователя. Конечно можно использовать для этого введенный идентификатор, но пользователь не всегда может желать использовать(или раскрывать) идентификатор OpenID. Причин много, и каждый может придумать их не один десяток — так что это дает пользователю право выбора
+1
Да, согласен. Внутри сайта все-равно нужен какой-то короткий запоминающийся ник.
0
Заменяя OpenID на свои ники-идентификаторы, мы перестаём использовать его по прямому назначению — идентификации.
-1
авторизация и идентификация не совсем одно и тоже
0
Вот именно! А OpenID предназначен именно для идентификации!
0
Ээээ…
"OpenID изначально проектировался, как независимый от провайдера метод аутентификации"
С этой задачей он отлично справляется — пользователю не нужно каждый раз придумывать и запоминать логин/пароль.
задача идентификации пользователя другими пользователями — это уже другая проблема, для решения которой OpenID подходит лишь частично.
"OpenID изначально проектировался, как независимый от провайдера метод аутентификации"
С этой задачей он отлично справляется — пользователю не нужно каждый раз придумывать и запоминать логин/пароль.
задача идентификации пользователя другими пользователями — это уже другая проблема, для решения которой OpenID подходит лишь частично.
0
Это не совсем то. Есть некоторые сайты, которые выбора не оставляют, а заставляют придумывать логин и пароль, вытаскивая из OpenID только ник, почтовый адрес и некоторые другие сведения.
+1
Ну давайте заюзаем в качестве логина либо сам URL (что пахнет идиотизмом хотя я такое видел), либо попробуем выдрать ник с этого сервиса, очень вероятно что он окажется не уникальным, в этом случае добавим рандомных цифр и дадим пользователю возможность потом из профиля поменять если очень захочется. Я у себя так делал. Хуже всего что не все openid провайдеры (Привет жжшечка) возвращают информацию о пользователе. Поэтому бывает приходится из урла что то выдумывать.
-1
вы еще логин {login}.ya.ru забыли
+1
не заставляйте юзеров кликать прямо по радио кнопке, сделайте текст с помощью label и чтобы было можно кликать также по картинке.
+8
Хотите дам идею на 100 миллионов? :)
Когда я ввожу Логин и Пароль — автоматически данные отсылаются на Каждый сервер и берется первый валидный! :)
Когда я ввожу Логин и Пароль — автоматически данные отсылаются на Каждый сервер и берется первый валидный! :)
-6
Готов поспорить, что почти у каждого провайдера есть пользователи alex, vasya, kostya и т.д. Какой выбирать? ;-)
+3
Угу, вот удивится то пользователем под моим ником зарегистрировавшийся в ЖЖшечке, что с него хотят войти по опен ид.
Да и я бы удивился, что после того, как я ввёл имя мне предложили авторизоваться на каком-то левом сервисе.
Да и я бы удивился, что после того, как я ввёл имя мне предложили авторизоваться на каком-то левом сервисе.
0
+8
может мое когда нибудь пригодится habrahabr.ru/blogs/javascript/77539/
+2
Не совсем. Они предлагают создать новый аккаунт.
Реализация потребителя в ЖЖ мне нравится больше: он тоже создаёт аккаунт, но не задаёт перед этим бессмысленный вопрос.
Реализация потребителя в ЖЖ мне нравится больше: он тоже создаёт аккаунт, но не задаёт перед этим бессмысленный вопрос.
-1
На всех сервисах, использующих авторизацию через OpenID создается аккаунт.
0
Ваш комментарий настолько же верен, насколько бесполезен. Я писал о другом.
0
Судя по рейтингу комментария, никто не понял того, чего ты хотел донести до меня и остальных.
0
Окей, разверну мысль. Создание аккаунта — почти неизбежность, если сайт хочет отслеживать действия пользователя. На некоторых простых сайтах этого можно избежать.
Stack Overflow же при этом ещё и спрашивает, создавать аккаунт или не создавать? Зачем? Неужели я могу ответить отрицательно? Я ведь уже нажал «log in».
Stack Overflow же при этом ещё и спрашивает, создавать аккаунт или не создавать? Зачем? Неужели я могу ответить отрицательно? Я ведь уже нажал «log in».
0
Давай смотреть логически.
Мы заходим в авторизацию (!), пробуем, он видит что мы с этим идентификатором еще не заходили. Заходили бы — авторизовал бы, не заходили — почему бы не предложить сделать там аккаунт.
У меня вот 2 openid, может я зашел не под тем, которым хочу. Или, к примеру, в гугле два аккаунта и я уже в одном авторизовался. На stackoverflow просто на всякий случай показывают от какого идентификатора меня будут регистрировать.
По-моему, это — правильный ход.
Мы заходим в авторизацию (!), пробуем, он видит что мы с этим идентификатором еще не заходили. Заходили бы — авторизовал бы, не заходили — почему бы не предложить сделать там аккаунт.
У меня вот 2 openid, может я зашел не под тем, которым хочу. Или, к примеру, в гугле два аккаунта и я уже в одном авторизовался. На stackoverflow просто на всякий случай показывают от какого идентификатора меня будут регистрировать.
По-моему, это — правильный ход.
0
Basecamp (да и остальное от 37signals) тоже неплохо реализовано. IntenseDebate — один из лучших вариантов. Для людей работают.
0
Для яндекса и рамблера логин вводить не обязательно (наверное еще для кого-нибудь). Гляньте habrahabr.ru/blogs/webdev/67774/
+2
UFO just landed and posted this here
Вот для Гугля УРЛ: https://www.google.com/accounts/o8/id
0
Посмотрите сами:Вы не правы, на Яндексе OpenID выглядет предельно лаконично: http://{логин}.ya.ru/
openid.yandex.ru/{логин}
+1
Тоже недавно пришлось реализовать первый раз вход по openID в новом проекте. Так-как использовал Zend Framework, то изначально попытался их классы для входа прикрутить. Но, первым в списке приоритетов был гугл, а со второй версией протокола у Зенда проблемы. В итоге использовал хак и всё заработало.
Однако, дальше понадобилось добавить Яндекс, и с ним Зенд тоже отказался работать. Пришлось искать другую библиотеку, остановился на этой, пока работает со всеми требуемыми провайдерами. Рекомендую
Однако, дальше понадобилось добавить Яндекс, и с ним Зенд тоже отказался работать. Пришлось искать другую библиотеку, остановился на этой, пока работает со всеми требуемыми провайдерами. Рекомендую
0
Simple OpenID PHP Class тоже пробовал, но что-то в ней не понравилось, не помню уже, что. Его плюс, что он кажется единственный на phpclasses для работы с openID
0
Как вариант: сделать в вышеозначенном примере просто последний пункт «Другой OpenID» с возможностью ввода собственного OpenID адреса.
+4
Черт возьми, хватит уже авторизовывать через username.livejournal.com! У меня юзернейм начинается с двух подчеркиваний, и, насколько понимаю, не воспрнимается ЖЖ в этом формате. Правильно писать так: users.livejournal.com/username.
0
Идентифицировать (не авторизовывать!), конечно, лучше по users.livejournal.com/username, но username.livejournal.com тоже является правильным OpenID, когда нет подчёркиваний.
0
при таком подходе не хочет работать (при username.livejournal.com работает) — подскажите в чем проблема?
на запрос users.livejournal.com/username пишет
на запрос users.livejournal.com/username пишет
Сайт, с которого вы только что пришли, вероятно, хочет проверить идентификацию, которую вы не можете предоставить как username.
0
У вас написано «openID-авторизация». OpenID занимается только идентификацией и не имеет никакого отношения к авторизации, аутентификации и ко многим другим слова на букву «а».
0
Вы правы по сути — насчет авторизации (разрешать делать что-то — прерогатива приложения), но неправы терминологически — насчет аутентификации: OpenID заведует именно аутентификацией.
Идентификация тут не самый общепринятый термин, первый раз его слышу в таком контексте, кстати.
Идентификация тут не самый общепринятый термин, первый раз его слышу в таком контексте, кстати.
+1
выбор из списка провайдера немного топорная затея. во первых если назвать поле openid_url то наверняка оно заполнится у юзера из автозаполнения браузера. Далее можно еще по химичить и предложить варианты автозаполнения при помощи js, наверняка уже кто-то и делал.
0
Скажу больше.
Меня удивляет, что пользователя пытаются всунуть в рамки конкретных openID-провайдеров. Сам я пользую chi.mp, где адрес очень прост. Кроме того существует общепринятое поле для логин по openID, которое выглядит так
stackoverflow.com/users/login
Меня удивляет, что пользователя пытаются всунуть в рамки конкретных openID-провайдеров. Сам я пользую chi.mp, где адрес очень прост. Кроме того существует общепринятое поле для логин по openID, которое выглядит так
stackoverflow.com/users/login
0
Кстати, в стандарте OpenID из покон века написана форма представления URL — USERID.openid-provider.org
Все провайдеры OpenID должны это поддерживать. Правда, никто не запрещает им поддерживать любые другие URL. Так что возможно имеет смысл у пользователя спрашивать только ник и название сайта, а дальше самостоятельно строить URL для авторизации. Собственно, в стандарте именно так и предписывается делать.
«Если идентификатор представляет собой URL, то первое, что делает зависимая сторона (example.com) — приводит его к нормальному виду, то есть к виду pupkin.openid-provider.org/. В соответствии с OpenID 1.0 зависимая сторона запрашивает веб-страницу по этому адресу и через HTML тег находит URL сервера-провайдера OpenID, например, openid-provider.org/openid-auth.php» Это из русской Вики.
Все провайдеры OpenID должны это поддерживать. Правда, никто не запрещает им поддерживать любые другие URL. Так что возможно имеет смысл у пользователя спрашивать только ник и название сайта, а дальше самостоятельно строить URL для авторизации. Собственно, в стандарте именно так и предписывается делать.
«Если идентификатор представляет собой URL, то первое, что делает зависимая сторона (example.com) — приводит его к нормальному виду, то есть к виду pupkin.openid-provider.org/. В соответствии с OpenID 1.0 зависимая сторона запрашивает веб-страницу по этому адресу и через HTML тег находит URL сервера-провайдера OpenID, например, openid-provider.org/openid-auth.php» Это из русской Вики.
0
code.google.com/intl/ru/apis/accounts/docs/OpenID.html
Вот тут вполне доходчиво написано, как работать с гугловским OpenID. Недавно с этим разбирался — все получилось :)
Вот тут вполне доходчиво написано, как работать с гугловским OpenID. Недавно с этим разбирался — все получилось :)
0
Теперь еще осталось кому-нибудь написать статью о том, как поднять свой собственный OpenID сервер.
0
Sign up to leave a comment.
Быстрый старт с openID