Давно замечаю в использовании OpenID на разных сайтах одну и ту же особенность, которая меня, как пропагандиста технологии, сильно печалит. Написать об этом пост я все ленился, но недавнее замечание коллеги о том, не сделать ли у меня на форуме "нормальный вход", показало, что откладывать больше нельзя!

Прежде, чем перейти к сути, хочу задать вопрос: "в чем главная польза OpenID"? (Ждет 5 секунд.) Раз все молчат, я отвечу так, как хочется мне :-). У OpenID есть аж три важных преимущества по сравнению с традиционными логин-парольными системами:

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

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

Это важно.

А теперь давайте посмотрим на то, как выглядит вход по OpenID на многих и многих сайтах на примере из четырех, которые первыми пришли мне в голову:

http://news2.ru/:

http://dopplr.com/:

http://livejournal.com/

http://mirtesen.ru/:

Это иллюстрирует факт того, что к OpenID относятся как к альтернативному способу входа взамен нормальному по логину и паролю. Очевидно, при таком подходе ни один юзер, который изначально не знает, зачем ему все это надо, никогда этим не воспользуется.

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

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

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

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

В разных вариантах эта идея уже много где используется, но здесь важны детали:

Что примечательно, эффективность такого подхода начинает получать реальные подтверждения. Зарубежные товарищи из Plaxo говорят о 92% успешных входов в систему с похожим интерфейсом. Там в качестве умолчального провайдера использовался Gmail.

Закончу традиционным для себя воззванием. Уважаемые создатели веб-сайтов! Вам не нужны логины и пароли ваших пользователей. Отказывайтесь от старых подходов, и хорошо будет и вам, и пользователям.

Комментарии: 90 (особо ценных: 2)

  1. pilot34

    Отличный пост! У меня на сайтах нужна рега обычно только для комментариев, так что я доверяю все проблемы внешним сервисам вроде IntenseDebate - тоже по сути аналог openId

  2. hVostt

    Согласен с написанным. Вот только когда до этого дойдут умы сайтоделов, незнаю.. ((

  3. Андрей Серебряков

    Особо ценный комментарий

    Иван, вот тоже хорошая реализация 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/

  4. Виктор Коцеруба

    есть еще одна проблема - часть юзверей не понимает что будет происходить после сабмита формы и начинает думать что дают доступ к своему аккаунту (в случаях известных мне - ЖЖ) стороннему сервису.

  5. Yura Ivanov

    Что делать если нет openid? Войти нельзя? Сначала надо придумать как раздать всем openid так, чтоб даже секретарша смогла понять что вбивать в поле "Пользователь Яндекса", особенно если у нее почта корпоративная и стартовая страница пробита от рамблера. (с) один директор-консерватор, правда бывший директор.

    Мне тоже многое не нравится в openid. Неудобно вводить имя пользователя (да, если пробить яндекс, жж и еще пару модных станет проще, но не все работают в яндексе :-) и не у всех на работе открыт жж мэйлру и прочие), неудобно что не везде можно представиться тем или иным именем (только логином). Неудобно что в принципе раскрывается анонимность посетителя (там где может быть это не надо или вообще не должно быть) - возникает необходимость регистрации нескольких openid аккаунтов? И все равно глаза ищут кнопку "регистрация" на сайте, на который зашел первый раз.

  6. Сергей Панфилов

    Что делать если у пользователя несколько учетных записей на сервисах, которые являются OpenID провайдерами? Сегодня он вошел как user@ya.ru, а через неделю как blogger@livejournal.com.

    Вопрос, конечно, риторический, т.к. понятно, что необходима возможность привязки нескольких OpenID записей к одной учетной записи пользователя.

  7. arty

    Особо ценный комментарий

    Yura Ivanov, Рамблер тоже поддерживает Directed Identity. И да, давайте дружно двигать его в массы : )

    Кстати, Андрей Серебряков в истории создания мог бы добавить ссылки на оригинальные посты, с которых во френдфиде обсуждение и началось ; ) Вот они:

    идеальный openid

    второе приближение к идеалу

  8. arty

    Сергей Панфилов, эта проблема существовала и до появления openid (а что, если юзер сегодня зайдёт по одному емейлу, а завтра по второму), и openid её не решает. Впрочем, он и не претендует на звание серебряной пули ; )

    Сложнее вопрос, как убедить гугл по умолчанию ставить галочку «разрешить этому сайту запомнить меня», чтобы гугл отдавал консюмеру статичный урл, а не случайный. Пользователей-то научить ставить эту галочку ой как непросто.

    Кстати, возможность создавать себе на сайте разные identity вполне можно считать неотъемлемым правом пользователя.

  9. Сергей Кищенко

    Не надо в hidden input, лишняя ж проверка понадобится. Можно на нее и плюнуть, но лучше не плевать на проверку ввода.

  10. Sergey Sergeev

    о, спасибо за пост, теперь будет куда посылать спрашивающих про авторизацию на сайте :)

  11. Иван Сагалаев

    Что делать если нет openid? Войти нельзя?

    Сделать страницу регистрации, на которой дать ссылку на регистрацию у любого большого неспециализированного провайдера. Кратко объяснить в тексте, что ему в интернете нужен универсальный логин, чтобы куда-то заходить. Если это вообще первая в интернете регистрация у человека, ему будет одинаково непривычен любой способ регистрации. Поэтому он будет либо внимательно читать, что написано, либо ему будет кто-то рядом помогать.

    Мне тоже многое не нравится в openid. Неудобно вводить имя пользователя

    Как это менее удобно, чем вводить не openid'шное имя пользователя? "username.ya.ru" не шибко длиннее, чем "username".

    неудобно что не везде можно представиться тем или иным именем (только логином).

    Тут как раз все наоборот. В openid, в отличие от логин-парольных регистраций, человеку можно дать выбрать себе любое имя, потому что оно не обязано быть уникальным. То есть для входа человек использует OpenID, а отображается на сайте как, например, "max" (логин занятый на всех сайтах до единого).

    В качестве бонуса никнейм из OpenID получается автоматически через SRE. Человеку даже вводить ничего не надо.

    Неудобно что в принципе раскрывается анонимность посетителя (там где может быть это не надо или вообще не должно быть)

    Если человеку нужна анонимность, он может завести для этого бросовый аккаунт где угодно. Ровно то же самое происходит с email'ами, все к этому привыкли.

    И все равно глаза ищут кнопку "регистрация" на сайте, на который зашел первый раз.

    Она там и будет. OpenID — это способ регистрации, а не ее отсутствие. Он заменяет только пару логин-пароль, а не всю остальную информацию, которая нужна от пользователя. Про это пора отдельный пост писать :-)

  12. Google user

    Предлагаю всем ознакомиться с тем, как видит эту проблему и её решение google: Usability Research on Federated Login.

  13. Максим

    Понимаю что вопрос не совсем по теме удобного входа через OpenID, но всё же... Как быть с возможным набегом роботов через специальные спамерские сервера авторизации?

    Не получится ли так, что разрекламировав и широко внедрив эту технологию мы через некоторое время столкнёмся с неуправляемым количеством спама?

  14. Imbolc

    Странно, столько каментов уже и никто не отметил главную проблему опенИд. Неужели, никто своих проектов не запускает?

    Проблема в том, что нет мыла. Т.е. связаться с юзером по своей инициативе уже нельзя. Для чего это нужно, надеюсь, понятно :)

  15. Иван Сагалаев

    Как быть с возможным набегом роботов через специальные спамерские сервера авторизации?

    Это тема следующего поста :-). Вкратце: OpenID не решает проблему спама сам по себе. Но он — необходимое звено в системе, которая с этим справиться может. Если пользователь везде представляется одним универсальным URL'ом, то к нему можно привязывать понятие доверия и репутации, чтобы он считался честным сетянином. С односайтовыми логинами такого сделать просто нельзя.

    Странно, столько каментов уже и никто не отметил главную проблему опенИд. Неужели, никто своих проектов не запускает?

    Проблема в том, что нет мыла. Т.е. связаться с юзером по своей инициативе уже нельзя. Для чего это нужно, надеюсь, понятно :)

    Вообще-то, это не странно, что никто не отметил эту проблему. Потому что ее нет :-). Она "есть", только если думать, что регистрация по OpenID заканчивается с вводом URL'а. Это странное и очень упорное заблуждение. Ввод OpenID — это такое же начало регистрации, как выбор логина с паролем. И в ней можно и нужно спрашивать email, если он нужен сайту. И больше того, с OpenID тут опять-таки проще, потому что из него можно попросить email автоматически.

  16. Антон

    Хороший вариант. Попробую реализовать его именно в таком виде, как описано у вас

  17. id.rambler.ru/users/kkapp

    Яндекс + Рамблер покроют больше пользователей. Хотя бы потому, что у Рамблера почти в десять раз больше активных пользователей, чем у LiveJournal. Также ещё и потому, что у Р много пользователей без Я или ЖЖ-логина.

  18. Иван Сагалаев

    Да, верно. Рамблер я упустил, сорри!

  19. Zigzag

    Замечательная идея! Спасибо!

  20. Roman Kirillov

    по-моему действительно вполне вменяемо. Особенно понравилось предложение из второго комментария - достойное развитие этой идеи.

    (p.s. как хорошо, что я не веб-мастер и мне не надо реализовывать все эти кошмарики, а можно просто пользоваться удобным и созданным кем-то интерфейсом!)

  21. Олег

    Насчет желательности повсеместного использования openid я с вами, Иван, не соглашусь. И о том, что "ввод OpenID - это такое же начало регистрации" тоже.

    И так, контраргументы:

    • Пользователь хочет узнать полезность этого сайта для себя и использует email, на который ему обычно валится всякий спам. И если этот сайт будет ему полезен, он введет email, который он использует каждодневно. В случае с OpenID такой расклад не возможен, потому что провайдер требует подтверждение email

    • У пользователя нет OpenID, он не знает зачем OpenID нужен, и он хочет оставить комментарий на сайте, и именно это он хочет сделать, а не читать информацию по OpenID. Тут более логичнее зарегистировать его по логинно-парольной схеме, и вот уже потом наградить OpenID логином. Подарок всегда приятнее, чем заставление сделать что-либо насильно, или полунасильно. (понятно, что данный вариант не для всех сайтов пригоден. Но в случае с "Моим кругом" это очень клево сработало)

    • "Точек входа" в систему должно быть больше одной, пусть пользователь ассоицирует со своим аккаунтов сколько угодно OpenID, логин в самой системе и т.п. Почему нет?

    Программисту кажется, что процессы общения пользователя с системой должны происходить так как он (программист) их видит. На самом деле возможна масса вариантов поведения, и практика показывает, что клиентам нужно не совсем то, что хотят дать им программисты. И тот программист будет успешен, который даст пользователю то, что хочет последний.

    Я думаю это не последний пост по OpenID, и по обсужденным вопросам в вашей, Иван, позиции будут изменения.

  22. Yura Ivanov

    Как-то все равно неубедительно получается. Неуниверсальность использования в тех или иных случаях приводит к головной боли посетителя.

    Да, чтобы в комментариях писать что-либо достаточно любого уникального идентификатора, чтобы вести черно-белые списки, а если они не нужны, то вообще идентификатор не нужен (на бордах обращаются к автору комментария по номеру этого комментария, никто особо не парится).

    Без участия пользователя серваки договорятся о получении любых данных по галке "доверять"? Но, во-первых, не все данные аутентичны (у каждого посетителя может как минимум два профиля - "дома" и "на работе"), во-вторых, не все данные можно отдавать. Скажем, на блоге васи пупкина и в интернет-магазине предоставляемые данные должны быть абсолютно различные. Иметь несколько паспортов - очень неудобно и в жизни и в интернете.

    По поводу пинания посетителя... Просьба зарегистрироваться на яндексе чтобы оформить заказ в каком-нить интернет-магазине мной была бы воспринята как дурной тон, стал бы искать другой магазин. Если я ушел с вашего сайта на яндекс я в 90% случаев не вернусь.

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

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

    На данный момент у меня ощущение об openid - это маска для мыла. Мыло не отдам, нате вам что-то похожее но тоже уникальное. А если хотите мыла, то я поставлю галку "доверять" и дам мыло все равно.

  23. Алексей

    Но очень понятно что делать если пользователь теряет провайдера. Скажем, был сервис блогов, маленький, но уютный, да взял и закрылся — а в итоге бедный пользователь получил потерю всех аккаунтов на разных остальных сайтах — они и есть, да не зайти, провайдера-то нету. Даже если получать 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 (которые мало кто в глаза видел, и не уверен что кто-то принимает), но это далеко не массовые решения.

  24. arty

    Интересно наблюдать, как люди хотят решить все проблемы одним махом : )

    OpenID даже не пытается решить проблему потери identity, потому что задача эта старая и сложная. У емейла она тоже присутствует, и ничего, люди справляются. Или не справляются : )

    Что касается автоматизации связей между урлами — давно уже есть link rel="me" и даже гугловый сервис для удобной работы с ними. При регистрации взять OpenID пользователя, скормить сервису, сохранить полученный список запасных аэродромов — вот вам и защита.

  25. Сергей Шепелев

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

  26. Pashka R.

    Пользователь хочет узнать полезность этого сайта для себя и использует email, на который ему обычно валится всякий спам. И если этот сайт будет ему полезен, он введет email, который он использует каждодневно. В случае с OpenID такой расклад не возможен, потому что провайдер требует подтверждение email

    Вы часто встречаете пользователей не гиков, у которых по несколько емейлов? Я - нет. Мало того, я не боюсь оставлять свой мейл - я доверяю гугл-антиспаму. Был случай, когда из-за сбоя системы авторизации на одном сайте пришлось завести себе резервную почту.

    У пользователя нет OpenID, он не знает зачем OpenID нужен, и он хочет оставить комментарий на сайте, и именно это он хочет сделать, а не читать информацию по OpenID.

    Все верно, поэтому ему предлагается представится пользователям ярушки, гугла, ЖЖешечи, етс. А уж в самом конце произвольным опенид или же логином с паролем.

    Тут более логичнее зарегистировать его по логинно-парольной схеме, и вот уже потом наградить OpenID логином. Подарок всегда приятнее, чем заставление сделать что-либо насильно, или полунасильно. (понятно, что данный вариант не для всех сайтов пригоден. Но в случае с "Моим кругом" это очень клево сработало)

    Если я хочу только оставить комментарий на сайте, мне их опенайди подарок не нужен. Я забуду о нем моментально.

    "Точек входа" в систему должно быть больше одной, пусть пользователь ассоицирует со своим аккаунтов сколько угодно OpenID, логин в самой системе и т.п. Почему нет?

    Так никто и не говорит, что опенайди должен быть единственным. Но делать его способом войти по-умолчанию очень разумная идея.

  27. Pashka R.

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

    Когда-то было угнано очень много шестизначных асечек по паролю "sarah". А OpenID - это тоже всего одна (а в лучшем случае ниодной) строчка ввода.

  28. Сергей Шепелев

    Олег, интересно вы пишете...

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

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

  29. Сергей Шепелев

    Pashka R., вы описали одну из характерных ошибок имя-парольных схем - пароль предлагается выбрать пользователю. Пароль должен придумываться сервером и если пользователь точно уверен, что у него получится лучше - тогда да, введите свой. Это решает "sarah" и "12345".

    Мы еще можем поболтать про алгоритм генерации пароля, но тема эта тролля выеденного не стоит.

  30. Сергей Шепелев

    Алексей, по поводу миграции. Я с вами согласен, проблема есть. Но она не прибавилась. OpenID решает вопрос у кого хранить пароль и, опционально, ряд настроек. Но почти все вебмастеры будут делать системы с внутренним аккаунтом. И тогда миграция сводится к тому, чтобы переключить аккаунт на другой openid, авторизовав пользователя альтернативным способом, например, через почту. Здесь проблема действительно есть, потому что юзкейс настолько редкий, что его и оставят пока петух не клюнет.

  31. Артём Сапегин

    Вот кнопка «OK» тут точно лишняя. Поле сразу после выбора должно появляться.

    А за идею большое спасибо! Попробую улучшить форму для комментариев в своём блоге.

  32. Иван Сагалаев

    Нет, Артем, по кнопке там именно уже вход происходит. А поле ввода появляется действительно после выбора того провайдера, которому оно нужно. ЖЖ нужно, Яндексу и тому же Рамблеру — нет.

  33. Артём Сапегин

    А-а, понял. Тогда наверное лучше что-нибудь вроде «Войти» написать.

  34. Sevenov

    Столько постов, а про Google никто не вспомнил. Он тоже OpenID-провайдер.

    Процент пользователей, которые авторизуются через Google на одном из моих проектов, примерно около 50%.

  35. Sevenov

    Хм. Я умудрился пропустить про GMail в посте.

  36. Олег

    2Сергей Шепелев

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

    мои слова нужно понимать в контексте слов Ивана "ввод OpenID - это такое же начало регистрации" Перед отправкой коммента у пользователя есть выбор:

    1. Ввести OpenID

    2. Узнать что такое OpenID, зарегистироваться у провайдера и выполнить п1.

    3. Зарегистрироваться на данном сайте

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

  37. Иван Сагалаев

    Для большинства проще зарегистироваться, чем вникать в идеи OpenID.

    Я не предлагал пользователю узнавать, что такое OpenID. И уж тем более — вникать в идеи. Его можно отправить на регистрацию к провайдеру, не объясняя вселенских вещей, а просто потому что тут так заведено. Для нового юзера это такая же условность, как и придумывание каких-то логина-пароля. По крайней мере, мне так кажется. Точных данных нет ни у вас, ни у меня :-).

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

  38. Олег

    Тут более логичнее зарегистировать его по логинно-парольной схеме, и вот уже потом наградить OpenID логином. Подарок всегда приятнее, чем заставление сделать что-либо насильно, или полунасильно. (понятно, что данный вариант не для всех сайтов пригоден. Но в случае с "Моим кругом" это очень клево сработало)

    Если я хочу только оставить комментарий на сайте, мне их опенайди подарок не нужен. Я забуду о нем моментально.

    Так не обязательно же рассматривать подарок с привязкой к комментариям. Я в конце мысли написал про Мой круг. Я у них 100 лет назад зарегался, а потом у них появился OpenID. Они об этом объявили, и дали информацию что это такое.

    "Точек входа" в систему должно быть больше одной, пусть пользователь ассоицирует со своим аккаунтов сколько угодно OpenID, логин в самой системе и т.п. Почему нет?

    Так никто и не говорит, что опенайди должен быть единственным. Но делать его способом войти по-умолчанию очень разумная идея.

    Согласен, идея разумная. Но как я понял у Ивана есть маниакальное желание сделать OpenID не дефолтным способом входа в систему, а единственным. Его комментарией по этому вопросу мы не видит :(

  39. Иван Сагалаев

    Олег, мой комментарий про это прямо над вашим. Плюс вот цитата из поста:

    он должен быть дефолтным (или вообще единственным) вариантом входа

    Заметьте, про "единственный" написано через "или" и в скобках.

    Вы явно увидели в этом посте чуть больше, чем там есть.

  40. zu

    Когда будет в Cicero? (=

  41. Иван Сагалаев

    Не, в Cicero это совсем не надо, там аудитория другая. Там, в общем-то, с OpenID все и так хорошо :-)

  42. brabadu

    http://stackoverflow.com - приятная неожиданность, регистрация только через OpenID.
    Как минимум на тех ресурсах, где аудитория более-менее ИТшная, можно легко делать его единственным средством авторизации. У каждого кто чуть более чем немного пользуется интернетом должен заваляться OpenID-аккаунт.

  43. Сашка

    Технология есть, хорошая. А вот как правильно и удобно использовать данную технологию не описано. Вот поэтому только сейчас люди приходят к таким решениям.

    В будущем наверно будет и форма входа общая, рекомендуемая.

    ПС. А зачем заставлять пользователей вводить имя и е-мэйл, если я ввёл openId?

  44. Иван Сагалаев

    ПС. А зачем заставлять пользователей вводить имя и е-мэйл, если я ввёл openId?

    К сожалению, мне пока приходится мириться с этой кривостью плагина для WordPress. Его разработчики пока не осознали, зачем нужен OpenID.

  45. Serge Matveenko
    1. А почему тут в каментах еще не так?;)

    2. Под пунктом 3 надо писать имя второго поля, типа "Логин в ЖЖ", а то народ туда пароли вводить будет или еще что-нибудь.

  46. Сергей Шепелев

    Олег, есть стойкое ощущение, что мы друг друга не поняли и вы просто повторили свой комментарий, поэтому я попытался раскрыть суть, хотя вышел какой-то гигантский текст.

    Есть проблема - нежелательные комментарии. Например, мат и пр. нарушения местного порядка.
    Есть решение - регистрация. (На самом деле это не решение, как мы все знаем, но ладно, допустим это усложняет вредителям жизнь).

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

    И вот к этому я и придрался в вашем комментарии. Что, дескать, юзеру нужно оставить комментарий - проще зарегистрироваться, чем вникать в OpenID.

    Регистрация не нужна а-приори. Даже есть анекдот на эту тему, заканчивающийся на "А я и так лежу под пальмой, ничего не делаю". У юзеров может быть привычка регистрироваться или может её не быть. Но собственных мотивов к регистрации у юзера быть не может по определению. Потому что регистрация решает проблему вебмастера, создавая проблему юзеру. Все к этому привыкли, но это искусственная проблема.

    Если юзеру нужно оставить комментарий, одинаково ему не нужно регистрироваться по имени-паролю и по OpenID. Просто про OpenID он не в курсе. Это вебмастеру нужна его регистрация, потому что это усложнит жизнь вредителям на сайте. А новому юзеру не нужна регистрация, никакая.

    Проблему "юзер про OpenID не в курсе" Иван как раз и предлагает здесь решить. Нужно спрятать от юзера технологию. Это большая задача для вебмастеров.

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

    Например, выберет, МойКруг и после редиректа увидит там то, что он ожидал увидеть - форму регистрации! Заполнит её, вернется на первый сайт. Батюшки... комментарий добавлен. Все счастливы.

  47. wiz

    Если юзеру нужно оставить комментарий, одинаково ему не нужно
    регистрироваться по имени-паролю и по OpenID. Просто про OpenID он не в
    курсе. Это вебмастеру нужна его регистрация, потому что это усложнит
    жизнь вредителям на сайте.

    Для каментаф типа "плюсадин" конечно не нужна, об этом никто не спорит. А в дискуссиях некая постоянная identity помогает общаться внутри более-менее устоявшегося коллектива постоянных посетителей.

  48. Sander

    Классный пост, добавлю в свои ссылки.

    sevenov
    Столько постов, а про Google никто не вспомнил. Он тоже OpenID-провайдер.
    Процент пользователей, которые авторизуются через Google на одном из моих проектов, примерно около 50%.
    Объясни плиз, как пользоваться Google-аккаунтом в качестве OpenID? У меня не получилось, и я вообще пришел к выводу, что Google изменил спецификацию протокола. Поэтому создавая недавно свой блог, использовал Google Friend Connect чтобы совместить технологии.

  49. Сергей Шепелев

    wiz, я с вами совершенно согласен. Identity нужна. А регистрация ей паралельна (или как там умное слово есть, ортогональна, кажется). В гуглепочте, яндексе и mail.ru буквально миллионы бросовых однодневных регистраций, в то время как многие имена вы узнаете без значка OpenID рядом. Просто есть объективная проблема доверия identity, ну тут уже ничего не попишешь, это проблема в людях.

  50. Сергей Шепелев

    Sander, чтобы пользоваться гугловским OpenID, консумер (сайт куда вы входите) должен поддерживать вторую версию протокола, с Directed Identity. Ну тут какбе, попробуешь и узнаешь.

    Для всех пользователей вводить нужно одно: https://www.google.com/accounts/o8/id
    это не значит ничего плохого. Консумер выяснит у гугла какое имя показывать и пр.

  51. Google user

    Тестирую https://www.google.com/accounts/o8/id здесь

  52. Sander

    Да, действительно работает, спасибо!
    Адрес, конечно, странный получается (если по ссылке-имени кликать).
    Сейчас-то я со своего OpenID написал.
    А где можно прочитать про различия протоколов OpenID с Directed Identity и без?

  53. Сергей Шепелев

    Sander, да, адрес стрёмный. Вы можете получить красивый урл, если разместите на своём урле редирект на ...o8/id
    ИЛИ разместите на своём урле специальный сервер, который будет отвечать на OpenID запросы, чем-то вроде "это не я, спросите у ...o8/id". Такой вариант позволяет совместить читабельную страничку с кастомным урлом.

    Но самое главное - никому не нужен красивый identity URL. Просто вышеобруганный плагин к вордпресу не спросил у провайдера SREG на домашнюю страничку. Только этот урл имеет смысл подставлять в ссылку под имя. В случае, если вы не предоставили сайту ссылки на домашнюю страничку, можно все равно написать (oid значок) Имя, без ссылки. Таким образом видно, что да, это именно вы, но у вас нет сайта, например.

    Спеки http://openid.net/developers/specs/

  54. Sander

    Сергей Шепелев,
    а у меня стоит http://siege.org/projects/phpMyID/
    мне кажется на персональном сайте это проще всего
    Однако не только "вышеобруганный плагин" плохо съедает identity от Google. Даже другой продукт Гугла, Google Friend Connect при присоединении к сайту с таким id упорно считает ваше имя=id и отказывается даже на сайте нормально отображать...

  55. Google user

    Sander, походу, недочет со стороны гугла.

  56. Google user

    Наконец узнал, что у Google есть OpenID :) Жаль, конечно, что не просто http://google.ru

    Теперь сомнений нет - своя авторизация это зло.

  57. [...] OpenID серверов родилась у меня после прочтения двух постов г-на Сагалаева, настоятельно рекомендую к ним [...]

  58. Alexander Artemenko

    Кстати, я у себя в блоге как раз такую форму логина, как ты описал, прикрутил. И добавил в свою версию django-openid соответствующую форму.

    Жаль, что Саймон пока игнорирует все мои патчи, но желающие могут посмореть их тут: http://github.com/svetlyak40wt/django-openid/tree/svetlyak40wt

  59. zu

    http://amur.datacod.info/accounts/login/ — предложеная форма входа в действии. Можно тырить - там один html+jQuery.

    OpenID работает через Cicero, который там для форума.

  60. Иван Сагалаев

    zu, там оно падает в 500 ошибку, если через SREG приходят не-ASCII данные. Поправьте, пожалуйста :-)

    А вообще — круто.

  61. zu

    да, это прям беда sitecustomize каждый раз прописывать..

  62. Иван Сагалаев

    Ага, теперь работает.

    А можно еще фичереквест один? :-). Раз уж у вас в профиле есть аватарка, то можно забирать ее из конечного URL'а пользователя, который вы получаете от провайдера. Те, кто его поддерживают, обычно делают это через pavatar в виде вот такого линка:

    <link rel="pavatar" href="...">
    
  63. zu

    Дык обработка openid-урла целиком вся из Cicero без единой модификации (;

  64. Иван Сагалаев

    Не, ну это ж не повод ее не дописывать :-). Да и выдирание pavatar'а напрямую с OpenID не связано. Но в общем-то, я давно уже хочу выдрать OpenID-консумер со всеми дополнительными фишками в отдельное приложение. Но случится это вряд ли скоро...

  65. Курилов Дмитрий

    я давно уже хочу выдрать OpenID-консумер со всеми дополнительными фишками в отдельное приложение

    django-openid-consumer уже есть. А вот фишки в отдельное приложение - было бы неплохо :-)

  66. Alrond

    В одном проекте, где я работаю, почти год назад реализовал комментирование по OpenID как основное и так же подставил селектом 12 известных провайдеров в виде значков с описаниями. На тот момент я такого в интернете не видел. Мне кажется получилось удачно, но критика принимается ;)
    Как пример можно посмотреть здесь

  67. Алексей Новиков

    Если я делаю проект для себя, да еще и рассчитанный на более-менее продвинутых пользователей — тогда да, не вопрос.

    Но популяризировать технологию за счет заказчика, продающего, скажем, косметику теткам разным — это сразу половину покупателей потерять. Неэтично продвигать технологии за счет заказчика.

  68. Alexey Kuznetsov

    Интересно, да.

  69. Andrey Cherezov

    ПС. А зачем заставлять пользователей вводить имя и е-мэйл, если я ввёл openId?

    ИС> К сожалению, мне пока приходится мириться с этой кривостью плагина для WordPress. Его разработчики пока не осознали, зачем нужен OpenID.

    А openid-логин через pip.verisignlabs.com здесь работает, не требует дополнительного ввода имени и email'а, все автоматически.

  70. Andrey Cherezov

    Дело не WordPress'е (в предыдущем посте всё прошло на автопилоте WordPress<->Pip.Verisign), а в особенностях реализации SRE в openid.yandex. "Его разработчики пока не осознали" ;)

  71. Ivan Sagalaev

    Андрей, а не могли бы вы провести свое исследование дальше и рассказать нам, как починить SRE на openid.yandex.ru. У вас, очевидно, это получится лучше, раз вы в трех комментариях подряд настаиваете, что проблема именно в нем.

    У меня, вот, так запросто обычно не выходит диагностировать проблемы с интероперабельностью. Все приходится как-то письма туда-сюда писать, вопросы задавать. Поэтому я лучше посижу в сторонке и понаблюдаю.

  72. Andrey Cherezov

    У меня, вот, так запросто обычно не выходит диагностировать проблемы с интероперабельностью.

    А у меня работа такая - изучать чужие баги, чтобы у моего софта проблем с интероперабельностью не было.

    Написал вам развернутый ответ с логами, но, как и ожидалось, он у вас из-за обилия урлов (в логах) посчитался спамом и ушел в карантин (я надеюсь, что не просто удалился :). Я не спамер, все ссылки в том посте были на Яндекс и Софтманьяков - могли бы и в белый список такие добавить :).

    В общем, копию (с wiki-форматированием для вашего сайта) я на всякий случай сохранил здесь
    http://www.eserv.ru/yandex/openid.txt

  73. Ivan Sagalaev

    Эх-х... Похоже, мой намек был слишком прозрачен.

    Смысл моего ответа сводится к тому, что наблюдая двусторнний процесс с одной стороны, нельзя делать далеко идущие выводы, полагаясь в половине случаев на догадки и собственное мнение о коде другой стороны, который вы не знаете.

    Ваш анализ, в частности, показывает только то, что конкретно в вашем случае SRE не передается. А например, в моем — передается (конкретно между openid.yandex.ru и комментариями в этом блоге). Дальнейшие выяснения, почему это так, и где что чинить, предлагаю перенести ко мне в почту. Поскольку я не хочу продолжать этот неэффективный обмен "любезностями" в комментариях к ни в чем не виноватой статье. Как вы сами уже заметили, комментарии и технически для этого не шибко удобны.

  74. spforth

    Да, я так и сказал, что в моих тестах SRE не передается ни одному из поддерживающих SRE сайтов, не только вашему WordPress. Это я к тому, что WordPress наверное не виноват.

    Ваши тесты, конечно, не могу оттрассировать. Возможно у вас привилегированный YandexID :) Но вы тут же выше жаловались, что у WordPress'а баг, и в то же время сейчас говорите, что уже бага нет, что SRE уже работает "(между openid.yandex.ru и комментариями в этом блоге)". Т.е. пришли к тому же - WordPress не виноват? :)

  75. spforth

    Еще раз проверил, все еще не передается. Хорошо, ухожу в почту :)

  76. Lynn

    По твоим заветам :-)
    http://myworldmap.ru/

  77. velikodnyv

    Добавляйте http://openid.mail.ru/

  78. velikodnyv

    Можно просто запрашивать у пользователя его емайл, и по нему уже определять провайдера и авторизировать. Если же по емайлу нет openID провайдера, то предлагать стандартную авторизацию через логин/пароль.

  79. Евгений

    Кстати, соглашусь с velikodnyv: можно спрашивать email, проверять его яваскриптом, и для пользователей yandex, google, rambler в поле пароля писать "пароль не нужен"

  80. vankovalenko

    Добавлю смуты - по мне - никаких логинов и паролей не должно быть на сайте в любом случае. Даже если у пользователя нет openid/email. Все те смеси, которые обсуждаются снова и снова ставят преграды на пути openid - давать возможность вводить логин и пароль, авторизовать по email и прочая. email - это тот же самый openid, просто специфичный его вид. Если у пользователя нет openid пусть его заведет. Это абсолютно идентично тому что он будет делать на сайте, только не придется хранить пароли. Отправим его к провайдерам openid - google, rambler, yandex, mail. Пусть они этим занимаются - хранят пароли, заботятся о безопасности.

    Конечно, это способ нагнать посещаемость соотв. провайдерам, но это ведь не наша забота - у кого из них больше аудитория. Собственно, теперь кто из них предложит наименее мудренный интерфейс регистрации пользователя и сделает его удобным для сторонних сайтов (т.е. сделает сервис B-D) отгребет себе новых регистраций.

    Итого, вкратце:

    • сайт работает только с openid
    • если у пользователя нет openid - регистрирует его на известном провайдере
    • провайдеры имеют возможность отгребать себе новых пользователей, если сделают подходящий сервис регистрации
  81. lopar.4ever@gmail.com

    Черт, товарищ velikodnyv принес реально радостную весть. Я не использовал данную систему лишь потому, что 30% моих пользователей сидели на почте mail.ru и сползать с нее не собирались.

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

    Пользователь хочет узнать полезность этого сайта для себя и использует email, на который ему обычно валится всякий спам. И если этот сайт будет ему полезен, он введет email, который он использует каждодневно. В случае с OpenID такой расклад не возможен, потому что провайдер требует подтверждение email.

    Специально для таких случаев в одном из проектов была предусмотрена кнопка сохранить данные в системе. Если она не нажата, то данные пользователя удаляются через сутки, нажата - вуаля, зарегистрирован.

  82. pablomedok

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

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

  83. Ivan Sagalaev

    а для серьезных проектов уже нужен логин/пароль, т.к. все равно придется вводить дополнительную инофрмацию о себе

    Вы сильно заблуждаетесь про OpenID в этом месте. http://softwaremaniacs.org/blog/2009/02/23/openid-myths-superstitions/.

  84. http://www.citydzen.com/author/andrey/

    Имхо слово OpenID Отпугивает людей. Вот если бы в блоге быол написано: авторизация с ЖЖ аккаунтом - было бы лучше. хотя сути дела это не меняет.

  85. asamakin@yandex.ru

    Интересно, кто-нибудь догадается сделать авторизацию OpenID ВСТРОЕННОЙ В БРАУЗЕР! На хрена ее на каждом сайте тыкать... зашел и болтается она как Яндекс.Бар..

  86. http://weaft.com/

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

  87. myx

    Спасибо за статью, она меня вдохновила на реализацию "неявного" входа по OpenID у себя на Друпал-сайте. Только я сделал не выпадающий список, а кнопочки, которые либо сразу делают редирект на провайдера (для провайдеров OpenID 2.0), либо просят ввести недостающие данные.

    Изначально задумывалось несколько по-другому (http://myx.ostankin.net/openid-new-approach), но, по-моему, получилось даже лучше :)

  88. Antony

    Ну, идея OpenID не нова, например, на многих сайтах от ucoz можно встретить общий для всех ucoz сайтов вход, если вы хоть раз были зарегистрированы. Нужно лишь ввести е-мейл, на котором висит 1ый (и он может быть единственным) аккаунт ucoz и пароль от аккаунта. Но по сравнению с OpenID есть неудобство в том, что видимый логин будет везде один и тот же, а некоторые сайты имеют некоторые требования на этот счет, и нельзя никак под них подстроится.

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

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

    Что касаемо новых сайтов, могу лишь сказать, что когда пользователь зарегистрирован локально, над ним куда проще производить операции - менять логин или отображющиеся имя, можно сбросить пароль (если пользователь его забыл и умудрился также забыть почту), можно перенести в "черный" список, забанить по IP, и так далее. Записи, сделанные локальным пользователем, поддаются постредактированию со стороны администрации ресурса всегда, а вот сделанные под социальными закладками - уже нет, комплексными система входа - частично.

  89. Ivan Sagalaev

    Что касаемо новых сайтов, могу лишь сказать, что когда пользователь зарегистрирован локально, над ним куда проще производить операции

    OpenID не заменяет локальную регистрацию. На всех сайтах, которые принимают вход по OpenID, у пользователя есть локальный аккаунт.

  90. lazybadger.mp

    На всех сайтах, которые принимают вход по OpenID, у пользователя есть локальный аккаунт.

    Может быть все таки, а не есть

Добавить комментарий