Давно замечаю в использовании OpenID на разных сайтах одну и ту же особенность, которая меня, как пропагандиста технологии, сильно печалит. Написать об этом пост я все ленился, но недавнее замечание коллеги о том, не сделать ли у меня на форуме "нормальный вход", показало, что откладывать больше нельзя!
Прежде, чем перейти к сути, хочу задать вопрос: "в чем главная польза OpenID"? (Ждет 5 секунд.) Раз все молчат, я отвечу так, как хочется мне :-). У OpenID есть аж три важных преимущества по сравнению с традиционными логин-парольными системами:
- Пользователь избавлен от выдумывания очередного логина и пароля.
- Пользователь избавлен от необходимости вводить один и тот же пароль на туче сайтов, постоянно увеличивая вероятность его утечки.
- OpenID позволяет строить межсервисные пользовательские связи на основе общего универсального идентификатора пользователя.
Даже если отвлечься от третьего заоблачного пункта, на мой взгляд первых двух достаточно, чтобы считать, что OpenID гораздо лучше логин-парольной системы. Нам с вами — гикам, программистам, технарям — называйте как хотите, может не казаться проблемой придумывать уникальный логин, а также хранить зашифрованные пароли в специальной программе-менеджере. Но нормальных пользователей, у которых есть заботы сверх того, чтобы думать о том, как работают компьютерные системы, это серьезно напрягает. И пароли у них фишат очень успешно.
Все это потенциально способен решить OpenID. Или хотя бы начать движение в правильном направлении. Загвоздка в том, что для того, чтобы это сработало, OpenID во-первых должен быть везде (или по крайней мере, много где), а во-вторых, он должен быть дефолтным (или вообще единственным) вариантом входа.
Это важно.
А теперь давайте посмотрим на то, как выглядит вход по OpenID на многих и многих сайтах на примере из четырех, которые первыми пришли мне в голову:
Это иллюстрирует факт того, что к OpenID относятся как к альтернативному способу входа взамен нормальному по логину и паролю. Очевидно, при таком подходе ни один юзер, который изначально не знает, зачем ему все это надо, никогда этим не воспользуется.
Надо сказать, что для многих сайтов это вполне естественное положение вещей. Речь идет о тех сайтах, где уже давно есть логин-парольная регистрация, и новый способ входа для них действительно альтернативный. И поскольку они в любом случае должны поддерживать логины и пароли имеющихся пользователей, полностью переключиться на OpenID у них вряд ли получится.
Казалось бы, для новых сайтов такой проблемы стоять не должно. Однако они все равно продолжают запускаться с традиционными системами регистраций и про OpenID вспоминают разве что в духе "потом может быть добавим". Причиной тому является, во-первых, совершенно понятная инерция мышления. Просто все привыкли так делать, да и готовых решений с хранением базы логинов написано много, и программистам удобно ими пользоваться.
Но главное, существует крепко укоренившееся мнение о том, что OpenID — технология для гиков, и простой юзер этого не поймет. Так вот, уважаемые, вы путаете причину и следствие. Ну конечно ни один юзер не поймет это в таком виде, в котором ему это предлагается! Спрятанным за несколькими кликами, названным непонятным словом, и, главное, без объяснения того, какую проблему это все решает.
Взамен этого я хочу предложить один конкретный вариант того, как может выглядеть интерфейс вход по OpenID, предназначенный для людей.
В разных вариантах эта идея уже много где используется, но здесь важны детали:
Вначале (картинка 1) пользователь видит интерфейс, где нет слова "OpenID". Оно никому ничего не говорит и только отпугивает.
Формулировка "Войти как пользователь ... " кратко отражает суть процесса: человек входит на этот сайт, но использует для этого свою существующую регистрацию. Я не проводил реальных юзабилити-тестов (я сижу с ноутбуком дома в кресле воскресным вечером, какие тут тесты? :-) ), но чисто спекулятивно мне кажется, что это должно быть понятно тем людям, кто уже является пользователем какого-нибудь сервиса в интернете.
Воспользовавшись таким входом большинство пользователей вообще не будут в курсе, что они воспользовались технологией OpenID. Это нормально. Так же, как то, что люди, пользуясь интернетом, не знают слова "TCP/IP".
Также стоит заметить, что в интерфейсе нет поля ввода для собственно логина. Это дополнительное удобство, возможное потому, что яндексовый OpenID-сервер поддерживает фичу OpenID 2.0, когда авторизация начинается не с собственного URL'а юзера, а с URL'а провайдера (в данном случае
http://yandex.ru/
), а тот уже в ответе выдает собственный URL юзера, зная, как тот залогинился. А раз URL один на всех, то и вводить его не надо, можно просто в<input type="hidden">
прописать.В качестве элемента выбора используется стандартный
<select>
(хоть этого и не видно по макету), чтобы пользователь сразу понимал, что там можно выбрать что-то другое.Список провайдеров в выпадающем списке на картинке 2 не случайный. Нет, не потому что я работаю в Яндексе :-). Просто эти два провайдера действительно могут претендовать на роль самых массовых и узнаваемых в рунете, покрывая, наверное, процентов 90 с лишним пользователей (я не считал, это снова спекуляция). Еще бы там Mail.Ru не помешал, на мой взгляд, но у них, кажется, OpenID-сервера нет (могу ошибаться). И вот в комментариях мне подсказывают, что я еще тут Рамблер забыл.
Кроме того, без ложной скромности хочу сказать, что формулировки и интерфейс логина на openid.yandex.ru одни из самых простых и понятных, что я видел. В частности, там не используется идиотская формулировка-калька с английского "Доверять этому сайту?" ничего не значащая для пользователя.
Вообще же, содержимое этого списка должно зависеть от конкретной аудитории конкретного сайта. Например, на сайте, созданном для какого-нибудь ЖЖшного коммьюнити, ЖЖшный логин безусловно стоит вытащить наверх по умолчанию.
Последним в списке идет упоминание "Любого OpenID". Это для тех, кто уже знает, что это такое, и узнаёт его именно по этому слову.
При выборе провайдера, который не умеет определять логин пользователя, под
<select>
ом появляется поле, куда этот логин можно написать.
Что примечательно, эффективность такого подхода начинает получать реальные подтверждения. Зарубежные товарищи из Plaxo говорят о 92% успешных входов в систему с похожим интерфейсом. Там в качестве умолчального провайдера использовался Gmail.
Закончу традиционным для себя воззванием. Уважаемые создатели веб-сайтов! Вам не нужны логины и пароли ваших пользователей. Отказывайтесь от старых подходов, и хорошо будет и вам, и пользователям.
Комментарии: 90 (особо ценных: 2)
Отличный пост! У меня на сайтах нужна рега обычно только для комментариев, так что я доверяю все проблемы внешним сервисам вроде IntenseDebate - тоже по сути аналог openId
Согласен с написанным. Вот только когда до этого дойдут умы сайтоделов, незнаю.. ((
Особо ценный комментарий
Иван, вот тоже хорошая реализация OpenID-формы:
http://xekc.com/auth-openid-xekc.png
История создания:
http://friendfeed.com/e/25dd7b06-7330-4471-a781-decb111e3447/
http://friendfeed.com/e/de672a9f-e105-4a15-a8ba-6b5da79a2296/NG-xekc/
есть еще одна проблема - часть юзверей не понимает что будет происходить после сабмита формы и начинает думать что дают доступ к своему аккаунту (в случаях известных мне - ЖЖ) стороннему сервису.
Что делать если нет openid? Войти нельзя? Сначала надо придумать как раздать всем openid так, чтоб даже секретарша смогла понять что вбивать в поле "Пользователь Яндекса", особенно если у нее почта корпоративная и стартовая страница пробита от рамблера. (с) один директор-консерватор, правда бывший директор.
Мне тоже многое не нравится в openid. Неудобно вводить имя пользователя (да, если пробить яндекс, жж и еще пару модных станет проще, но не все работают в яндексе :-) и не у всех на работе открыт жж мэйлру и прочие), неудобно что не везде можно представиться тем или иным именем (только логином). Неудобно что в принципе раскрывается анонимность посетителя (там где может быть это не надо или вообще не должно быть) - возникает необходимость регистрации нескольких openid аккаунтов? И все равно глаза ищут кнопку "регистрация" на сайте, на который зашел первый раз.
Что делать если у пользователя несколько учетных записей на сервисах, которые являются OpenID провайдерами? Сегодня он вошел как user@ya.ru, а через неделю как blogger@livejournal.com.
Вопрос, конечно, риторический, т.к. понятно, что необходима возможность привязки нескольких OpenID записей к одной учетной записи пользователя.
Особо ценный комментарий
Yura Ivanov, Рамблер тоже поддерживает Directed Identity. И да, давайте дружно двигать его в массы : )
Кстати, Андрей Серебряков в истории создания мог бы добавить ссылки на оригинальные посты, с которых во френдфиде обсуждение и началось ; ) Вот они:
идеальный openid
второе приближение к идеалу
Сергей Панфилов, эта проблема существовала и до появления openid (а что, если юзер сегодня зайдёт по одному емейлу, а завтра по второму), и openid её не решает. Впрочем, он и не претендует на звание серебряной пули ; )
Сложнее вопрос, как убедить гугл по умолчанию ставить галочку «разрешить этому сайту запомнить меня», чтобы гугл отдавал консюмеру статичный урл, а не случайный. Пользователей-то научить ставить эту галочку ой как непросто.
Кстати, возможность создавать себе на сайте разные identity вполне можно считать неотъемлемым правом пользователя.
Не надо в hidden input, лишняя ж проверка понадобится. Можно на нее и плюнуть, но лучше не плевать на проверку ввода.
о, спасибо за пост, теперь будет куда посылать спрашивающих про авторизацию на сайте :)
Сделать страницу регистрации, на которой дать ссылку на регистрацию у любого большого неспециализированного провайдера. Кратко объяснить в тексте, что ему в интернете нужен универсальный логин, чтобы куда-то заходить. Если это вообще первая в интернете регистрация у человека, ему будет одинаково непривычен любой способ регистрации. Поэтому он будет либо внимательно читать, что написано, либо ему будет кто-то рядом помогать.
Как это менее удобно, чем вводить не openid'шное имя пользователя? "username.ya.ru" не шибко длиннее, чем "username".
Тут как раз все наоборот. В openid, в отличие от логин-парольных регистраций, человеку можно дать выбрать себе любое имя, потому что оно не обязано быть уникальным. То есть для входа человек использует OpenID, а отображается на сайте как, например, "max" (логин занятый на всех сайтах до единого).
В качестве бонуса никнейм из OpenID получается автоматически через SRE. Человеку даже вводить ничего не надо.
Если человеку нужна анонимность, он может завести для этого бросовый аккаунт где угодно. Ровно то же самое происходит с email'ами, все к этому привыкли.
Она там и будет. OpenID — это способ регистрации, а не ее отсутствие. Он заменяет только пару логин-пароль, а не всю остальную информацию, которая нужна от пользователя. Про это пора отдельный пост писать :-)
Предлагаю всем ознакомиться с тем, как видит эту проблему и её решение google: Usability Research on Federated Login.
Понимаю что вопрос не совсем по теме удобного входа через OpenID, но всё же... Как быть с возможным набегом роботов через специальные спамерские сервера авторизации?
Не получится ли так, что разрекламировав и широко внедрив эту технологию мы через некоторое время столкнёмся с неуправляемым количеством спама?
Странно, столько каментов уже и никто не отметил главную проблему опенИд. Неужели, никто своих проектов не запускает?
Проблема в том, что нет мыла. Т.е. связаться с юзером по своей инициативе уже нельзя. Для чего это нужно, надеюсь, понятно :)
Это тема следующего поста :-). Вкратце: OpenID не решает проблему спама сам по себе. Но он — необходимое звено в системе, которая с этим справиться может. Если пользователь везде представляется одним универсальным URL'ом, то к нему можно привязывать понятие доверия и репутации, чтобы он считался честным сетянином. С односайтовыми логинами такого сделать просто нельзя.
Вообще-то, это не странно, что никто не отметил эту проблему. Потому что ее нет :-). Она "есть", только если думать, что регистрация по OpenID заканчивается с вводом URL'а. Это странное и очень упорное заблуждение. Ввод OpenID — это такое же начало регистрации, как выбор логина с паролем. И в ней можно и нужно спрашивать email, если он нужен сайту. И больше того, с OpenID тут опять-таки проще, потому что из него можно попросить email автоматически.
Хороший вариант. Попробую реализовать его именно в таком виде, как описано у вас
Яндекс + Рамблер покроют больше пользователей. Хотя бы потому, что у Рамблера почти в десять раз больше активных пользователей, чем у LiveJournal. Также ещё и потому, что у Р много пользователей без Я или ЖЖ-логина.
Да, верно. Рамблер я упустил, сорри!
Замечательная идея! Спасибо!
по-моему действительно вполне вменяемо. Особенно понравилось предложение из второго комментария - достойное развитие этой идеи.
(p.s. как хорошо, что я не веб-мастер и мне не надо реализовывать все эти кошмарики, а можно просто пользоваться удобным и созданным кем-то интерфейсом!)
Насчет желательности повсеместного использования openid я с вами, Иван, не соглашусь. И о том, что "ввод OpenID - это такое же начало регистрации" тоже.
И так, контраргументы:
Пользователь хочет узнать полезность этого сайта для себя и использует email, на который ему обычно валится всякий спам. И если этот сайт будет ему полезен, он введет email, который он использует каждодневно. В случае с OpenID такой расклад не возможен, потому что провайдер требует подтверждение email
У пользователя нет OpenID, он не знает зачем OpenID нужен, и он хочет оставить комментарий на сайте, и именно это он хочет сделать, а не читать информацию по OpenID. Тут более логичнее зарегистировать его по логинно-парольной схеме, и вот уже потом наградить OpenID логином. Подарок всегда приятнее, чем заставление сделать что-либо насильно, или полунасильно. (понятно, что данный вариант не для всех сайтов пригоден. Но в случае с "Моим кругом" это очень клево сработало)
"Точек входа" в систему должно быть больше одной, пусть пользователь ассоицирует со своим аккаунтов сколько угодно OpenID, логин в самой системе и т.п. Почему нет?
Программисту кажется, что процессы общения пользователя с системой должны происходить так как он (программист) их видит. На самом деле возможна масса вариантов поведения, и практика показывает, что клиентам нужно не совсем то, что хотят дать им программисты. И тот программист будет успешен, который даст пользователю то, что хочет последний.
Я думаю это не последний пост по OpenID, и по обсужденным вопросам в вашей, Иван, позиции будут изменения.
Как-то все равно неубедительно получается. Неуниверсальность использования в тех или иных случаях приводит к головной боли посетителя.
Да, чтобы в комментариях писать что-либо достаточно любого уникального идентификатора, чтобы вести черно-белые списки, а если они не нужны, то вообще идентификатор не нужен (на бордах обращаются к автору комментария по номеру этого комментария, никто особо не парится).
Без участия пользователя серваки договорятся о получении любых данных по галке "доверять"? Но, во-первых, не все данные аутентичны (у каждого посетителя может как минимум два профиля - "дома" и "на работе"), во-вторых, не все данные можно отдавать. Скажем, на блоге васи пупкина и в интернет-магазине предоставляемые данные должны быть абсолютно различные. Иметь несколько паспортов - очень неудобно и в жизни и в интернете.
По поводу пинания посетителя... Просьба зарегистрироваться на яндексе чтобы оформить заказ в каком-нить интернет-магазине мной была бы воспринята как дурной тон, стал бы искать другой магазин. Если я ушел с вашего сайта на яндекс я в 90% случаев не вернусь.
Проблема регистрации существует лишь из-за изначально супер-пупер навороченных движков форумов и прочих блогов, где надо ответить на большее количество вопросов, чем при оформлении банковского счета. В этих формах заполняются действителоьно только ник и мыло и капча до кучи, остальное либо по дефолту, либо каждый раз одна и та же галка ставиться как везде.
Что касается интернет-магазинов, например, где для удобства и скорости оформления заказа просят ввести множество параметров - это заморочки каждого интернет-магазина в отдельности. Количество и полнота вводимых данных регулируется продавцом. И универсализировать это дело, чтоб openid сервак отдавал максимум самых различных данных не получится как ни старайся, в итоге посетителю либо придется дозаполнять эти данные, либо диктовать, хотя он мог бы сделать два клика и заполнить регформу.
Придавать большое значение паролям не стоит. Поверьте, там, где нужно реально что-то запаролить используются и другие пароли и другие методы аутентификации. А пароль от форума можно доверить хранить броузеру.
На данный момент у меня ощущение об openid - это маска для мыла. Мыло не отдам, нате вам что-то похожее но тоже уникальное. А если хотите мыла, то я поставлю галку "доверять" и дам мыло все равно.
Но очень понятно что делать если пользователь теряет провайдера. Скажем, был сервис блогов, маленький, но уютный, да взял и закрылся — а в итоге бедный пользователь получил потерю всех аккаунтов на разных остальных сайтах — они и есть, да не зайти, провайдера-то нету. Даже если получать OpenID у ISP — чтобы решить проблему что делать, если OpenID нету — все равно та же беда: провайдер стал давать плохие цены, и пользователь ушел к другому, а по дороге потерял все что имел. Решение в духе «регистрируйтесь на аккаунты Google с Яндексом, они точно не закроются» — как-то совершенно некрасиво, и противоречит самой идее децентрализации. В общем, в копилку проблем — механизмов миграции не предусмотрено в принципе.
А хотелось бы нечто стандартизированное, например, типа сертификата «Этот сертификат выдан jsmith.example.org, который с 2009-02-17T00:30:00+0400 у нас больше таким не значится, но на эту же дату он подтвердил, что он обладатель john.smith.name. За сиим откланиваемся, всегда ваши, example.org (а наш публичный ключ вы должны бы запомнить когда identity запоминали).» И, в идеале, появление софта для identity management'а — возможно интегрированного с браузером — чтобы тот сам вел списки где пользователь регистрировался и сам мог, например, отправить (через, опять же, стандартизированный API) уведомление о смене identity. Плюс механизм контроля (раз мы возлагаем на OpenID задачи не просто сиюминутной подписи, а полноценного long-term identity то это становится важным) что jsmith, зарегистрировашийся 2008-03-01 это совсем не тот jsmith, который был до 2008-02-17, и не надо нового jsmith пускать никуда.
Плюс, вроде как, отсутствует и механизм связки. Опять же, нет никаких правил как можно сказать, что «jsmith.example.org» это то же самое, что и «jonh.smith.name», а так же «example.com/~johnsmith». Не просто редиректами, а установлением равноправных отношений между провайдерами. Хотя бы для случая, если один из провайдеров внезапно слег на технические работы на часик, чтобы избежать единственной точки отказа. Да, некоторые приемщики OpenID, возможно, и готовы принять через какую-то форму дополнительные identity, но это все нестандарт и вообще на усмотрение владельцев ресурса.
Пока же, остается неприятное впечатление, что OpenID как был разработан для «вот интересная запись в блоге, я хочу оставить комментарий, но его автор требует какую-либо identity, так что как-то надо выкручиваться» так и остался в этом районе. Немного спасают ситуацию варианты типа личных именных доменов (.name и сотоварищи), где все опирается на святая святых Интернета — DNS и владение доменами (хотя, опять же: не заплатил и попрощайся с аккаунтами или заплати втридорога сквоттеру) или XRI с i-names (которые мало кто в глаза видел, и не уверен что кто-то принимает), но это далеко не массовые решения.
Интересно наблюдать, как люди хотят решить все проблемы одним махом : )
OpenID даже не пытается решить проблему потери identity, потому что задача эта старая и сложная. У емейла она тоже присутствует, и ничего, люди справляются. Или не справляются : )
Что касается автоматизации связей между урлами — давно уже есть
link rel="me"
и даже гугловый сервис для удобной работы с ними. При регистрации взять OpenID пользователя, скормить сервису, сохранить полученный список запасных аэродромов — вот вам и защита.Я не защищаю убогую схему имя-пароль, но в очередной раз хочу напомнить, что она была бы намного проще и лучше, если из нее убрать "логин" и оставить только пароль.
Вы часто встречаете пользователей не гиков, у которых по несколько емейлов? Я - нет. Мало того, я не боюсь оставлять свой мейл - я доверяю гугл-антиспаму. Был случай, когда из-за сбоя системы авторизации на одном сайте пришлось завести себе резервную почту.
Все верно, поэтому ему предлагается представится пользователям ярушки, гугла, ЖЖешечи, етс. А уж в самом конце произвольным опенид или же логином с паролем.
Если я хочу только оставить комментарий на сайте, мне их опенайди подарок не нужен. Я забуду о нем моментально.
Так никто и не говорит, что опенайди должен быть единственным. Но делать его способом войти по-умолчанию очень разумная идея.
Когда-то было угнано очень много шестизначных асечек по паролю "sarah". А OpenID - это тоже всего одна (а в лучшем случае ниодной) строчка ввода.
Олег, интересно вы пишете...
А с имя-парольной схемой юзер уже хочет регистрироваться, а не оставить комментарий, да?
Точно так же, OpenID не решает проблему. Анонимные комментарии решают.
Pashka R., вы описали одну из характерных ошибок имя-парольных схем - пароль предлагается выбрать пользователю. Пароль должен придумываться сервером и если пользователь точно уверен, что у него получится лучше - тогда да, введите свой. Это решает "sarah" и "12345".
Мы еще можем поболтать про алгоритм генерации пароля, но тема эта тролля выеденного не стоит.
Алексей, по поводу миграции. Я с вами согласен, проблема есть. Но она не прибавилась. OpenID решает вопрос у кого хранить пароль и, опционально, ряд настроек. Но почти все вебмастеры будут делать системы с внутренним аккаунтом. И тогда миграция сводится к тому, чтобы переключить аккаунт на другой openid, авторизовав пользователя альтернативным способом, например, через почту. Здесь проблема действительно есть, потому что юзкейс настолько редкий, что его и оставят пока петух не клюнет.
Вот кнопка «OK» тут точно лишняя. Поле сразу после выбора должно появляться.
А за идею большое спасибо! Попробую улучшить форму для комментариев в своём блоге.
Нет, Артем, по кнопке там именно уже вход происходит. А поле ввода появляется действительно после выбора того провайдера, которому оно нужно. ЖЖ нужно, Яндексу и тому же Рамблеру — нет.
А-а, понял. Тогда наверное лучше что-нибудь вроде «Войти» написать.
Столько постов, а про Google никто не вспомнил. Он тоже OpenID-провайдер.
Процент пользователей, которые авторизуются через Google на одном из моих проектов, примерно около 50%.
Хм. Я умудрился пропустить про GMail в посте.
2Сергей Шепелев
мои слова нужно понимать в контексте слов Ивана "ввод OpenID - это такое же начало регистрации" Перед отправкой коммента у пользователя есть выбор:
Ввести OpenID
Узнать что такое OpenID, зарегистироваться у провайдера и выполнить п1.
Зарегистрироваться на данном сайте
Для большинства проще зарегистироваться, чем вникать в идеи OpenID. Еще много времени пройдет, чтобы у каждого был хотя бы один OpenID логин
Я не предлагал пользователю узнавать, что такое OpenID. И уж тем более — вникать в идеи. Его можно отправить на регистрацию к провайдеру, не объясняя вселенских вещей, а просто потому что тут так заведено. Для нового юзера это такая же условность, как и придумывание каких-то логина-пароля. По крайней мере, мне так кажется. Точных данных нет ни у вас, ни у меня :-).
Впрочем, это не то, во что я готов сильно упираться. Действительно существует класс пользователей, которые успели привыкнуть к логину-паролю, и их возможно будет страшно отправлять юзера к чужому провайдеру. Пусть тогда будет регистрацию своего логина/пароля. Это детали. Смысл моего поста сводится к тому, что OpenID не надо прятать за названием "OpenID".
Так не обязательно же рассматривать подарок с привязкой к комментариям. Я в конце мысли написал про Мой круг. Я у них 100 лет назад зарегался, а потом у них появился OpenID. Они об этом объявили, и дали информацию что это такое.
Согласен, идея разумная. Но как я понял у Ивана есть маниакальное желание сделать OpenID не дефолтным способом входа в систему, а единственным. Его комментарией по этому вопросу мы не видит :(
Олег, мой комментарий про это прямо над вашим. Плюс вот цитата из поста:
Заметьте, про "единственный" написано через "или" и в скобках.
Вы явно увидели в этом посте чуть больше, чем там есть.
Когда будет в Cicero? (=
Не, в Cicero это совсем не надо, там аудитория другая. Там, в общем-то, с OpenID все и так хорошо :-)
http://stackoverflow.com - приятная неожиданность, регистрация только через OpenID.
Как минимум на тех ресурсах, где аудитория более-менее ИТшная, можно легко делать его единственным средством авторизации. У каждого кто чуть более чем немного пользуется интернетом должен заваляться OpenID-аккаунт.
Технология есть, хорошая. А вот как правильно и удобно использовать данную технологию не описано. Вот поэтому только сейчас люди приходят к таким решениям.
В будущем наверно будет и форма входа общая, рекомендуемая.
ПС. А зачем заставлять пользователей вводить имя и е-мэйл, если я ввёл openId?
К сожалению, мне пока приходится мириться с этой кривостью плагина для WordPress. Его разработчики пока не осознали, зачем нужен OpenID.
А почему тут в каментах еще не так?;)
Под пунктом 3 надо писать имя второго поля, типа "Логин в ЖЖ", а то народ туда пароли вводить будет или еще что-нибудь.
Олег, есть стойкое ощущение, что мы друг друга не поняли и вы просто повторили свой комментарий, поэтому я попытался раскрыть суть, хотя вышел какой-то гигантский текст.
Есть проблема - нежелательные комментарии. Например, мат и пр. нарушения местного порядка.
Есть решение - регистрация. (На самом деле это не решение, как мы все знаем, но ладно, допустим это усложняет вредителям жизнь).
Я могу воспринимать ваш комментарий в контексте слов Ивана или он бы этого не сказал, но давайте сойдёмся на вот чём: OpenID решает ровно одну задачу. Ваш пароль хранится не у вебмастера сайта, а у провайдера. Из этого следует, что задачу регистрации OpenID не решает. Из этого следует, что вводя OpenID вы по-прежнему регистрируете пользователя, пусть и прозрачно.
И вот к этому я и придрался в вашем комментарии. Что, дескать, юзеру нужно оставить комментарий - проще зарегистрироваться, чем вникать в OpenID.
Регистрация не нужна а-приори. Даже есть анекдот на эту тему, заканчивающийся на "А я и так лежу под пальмой, ничего не делаю". У юзеров может быть привычка регистрироваться или может её не быть. Но собственных мотивов к регистрации у юзера быть не может по определению. Потому что регистрация решает проблему вебмастера, создавая проблему юзеру. Все к этому привыкли, но это искусственная проблема.
Если юзеру нужно оставить комментарий, одинаково ему не нужно регистрироваться по имени-паролю и по OpenID. Просто про OpenID он не в курсе. Это вебмастеру нужна его регистрация, потому что это усложнит жизнь вредителям на сайте. А новому юзеру не нужна регистрация, никакая.
Проблему "юзер про OpenID не в курсе" Иван как раз и предлагает здесь решить. Нужно спрятать от юзера технологию. Это большая задача для вебмастеров.
Когда эта задача будет решена, посмотрите на сайт, грамотно принимающий оба вида авторизации. В коментах было много ссылок, неплохо нарисована форма у xekc. Юзеру одинаково не нужна ни та, ни другая регистрация, но страшное слово OpenID его больше не пугает, поэтому он выберет то, что первое/красивее/знакомо/etc.
Например, выберет, МойКруг и после редиректа увидит там то, что он ожидал увидеть - форму регистрации! Заполнит её, вернется на первый сайт. Батюшки... комментарий добавлен. Все счастливы.
Для каментаф типа "плюсадин" конечно не нужна, об этом никто не спорит. А в дискуссиях некая постоянная identity помогает общаться внутри более-менее устоявшегося коллектива постоянных посетителей.
Классный пост, добавлю в свои ссылки.
wiz, я с вами совершенно согласен. Identity нужна. А регистрация ей паралельна (или как там умное слово есть, ортогональна, кажется). В гуглепочте, яндексе и mail.ru буквально миллионы бросовых однодневных регистраций, в то время как многие имена вы узнаете без значка OpenID рядом. Просто есть объективная проблема доверия identity, ну тут уже ничего не попишешь, это проблема в людях.
Sander, чтобы пользоваться гугловским OpenID, консумер (сайт куда вы входите) должен поддерживать вторую версию протокола, с Directed Identity. Ну тут какбе, попробуешь и узнаешь.
Для всех пользователей вводить нужно одно: https://www.google.com/accounts/o8/id
это не значит ничего плохого. Консумер выяснит у гугла какое имя показывать и пр.
Тестирую https://www.google.com/accounts/o8/id здесь
Да, действительно работает, спасибо!
Адрес, конечно, странный получается (если по ссылке-имени кликать).
Сейчас-то я со своего OpenID написал.
А где можно прочитать про различия протоколов OpenID с Directed Identity и без?
Sander, да, адрес стрёмный. Вы можете получить красивый урл, если разместите на своём урле редирект на ...o8/id
ИЛИ разместите на своём урле специальный сервер, который будет отвечать на OpenID запросы, чем-то вроде "это не я, спросите у ...o8/id". Такой вариант позволяет совместить читабельную страничку с кастомным урлом.
Но самое главное - никому не нужен красивый identity URL. Просто вышеобруганный плагин к вордпресу не спросил у провайдера SREG на домашнюю страничку. Только этот урл имеет смысл подставлять в ссылку под имя. В случае, если вы не предоставили сайту ссылки на домашнюю страничку, можно все равно написать (oid значок) Имя, без ссылки. Таким образом видно, что да, это именно вы, но у вас нет сайта, например.
Спеки http://openid.net/developers/specs/
Сергей Шепелев,
а у меня стоит http://siege.org/projects/phpMyID/
мне кажется на персональном сайте это проще всего
Однако не только "вышеобруганный плагин" плохо съедает identity от Google. Даже другой продукт Гугла, Google Friend Connect при присоединении к сайту с таким id упорно считает ваше имя=id и отказывается даже на сайте нормально отображать...
Sander, походу, недочет со стороны гугла.
Наконец узнал, что у Google есть OpenID :) Жаль, конечно, что не просто http://google.ru
Теперь сомнений нет - своя авторизация это зло.
Кстати, я у себя в блоге как раз такую форму логина, как ты описал, прикрутил. И добавил в свою версию django-openid соответствующую форму.
Жаль, что Саймон пока игнорирует все мои патчи, но желающие могут посмореть их тут: http://github.com/svetlyak40wt/django-openid/tree/svetlyak40wt
http://amur.datacod.info/accounts/login/ — предложеная форма входа в действии. Можно тырить - там один html+jQuery.
OpenID работает через Cicero, который там для форума.
zu, там оно падает в 500 ошибку, если через SREG приходят не-ASCII данные. Поправьте, пожалуйста :-)
А вообще — круто.
да, это прям беда sitecustomize каждый раз прописывать..
Ага, теперь работает.
А можно еще фичереквест один? :-). Раз уж у вас в профиле есть аватарка, то можно забирать ее из конечного URL'а пользователя, который вы получаете от провайдера. Те, кто его поддерживают, обычно делают это через pavatar в виде вот такого линка:
Дык обработка openid-урла целиком вся из Cicero без единой модификации (;
Не, ну это ж не повод ее не дописывать :-). Да и выдирание pavatar'а напрямую с OpenID не связано. Но в общем-то, я давно уже хочу выдрать OpenID-консумер со всеми дополнительными фишками в отдельное приложение. Но случится это вряд ли скоро...
django-openid-consumer уже есть. А вот фишки в отдельное приложение - было бы неплохо :-)
В одном проекте, где я работаю, почти год назад реализовал комментирование по OpenID как основное и так же подставил селектом 12 известных провайдеров в виде значков с описаниями. На тот момент я такого в интернете не видел. Мне кажется получилось удачно, но критика принимается ;)
Как пример можно посмотреть здесь
Если я делаю проект для себя, да еще и рассчитанный на более-менее продвинутых пользователей — тогда да, не вопрос.
Но популяризировать технологию за счет заказчика, продающего, скажем, косметику теткам разным — это сразу половину покупателей потерять. Неэтично продвигать технологии за счет заказчика.
Интересно, да.
ИС>