идеальный openid
со всех сторон хорош openid, кроме одной. Она же — самый большой его недостаток. Проистекает этот минус из новизны технологии: пользователи привыкли писать в формочку логин и пароль, а понять, и уж тем более принять новое для них тяжкий труд. Для всех по разным причинам.
с этим пора бы уже бороться, но даже исследования ситуации были проведены только совсем недавно яхой и гуглом. Впрочем, может оказаться так, что мы, веб-разработчики, сможем миновать эту проблему по короткому пути. Конечно, решением окажется очередная технология. All hail Holy Science!
я уже немного писал о технологии Directed Identity:
если вы уже залогинены на гугле, на новом сервисе вам даже не нужно указывать свой емейл — достаточно кликнуть «использовать гугл/яндекс для входа»
но теперь я хочу ещё и показать её в действии. Форма логина в моём блоге переработана, чтобы лучшим образом демонстрировать прелесть решения. (Да, юзабилисты бы могли её улучшить, но это сравнительно быстрый набросок.)
итак, что видит неопытный пользователь, оказавшись на этой странице? Надписи «вход через Google» и «вход через Yandex», ещё и с фавиконами. Конечно, я нерепрезентативен, и не могу в полной мере представить, что творится в его голове, но подозреваю (и очень надеюсь :), что такая новизна вызовет в его голове максимум лёгкую заминку. И он радостно кликнет кнопку, и магия openid начнёт свою работу.
это самый простой вариант, который можно поставить прямо в обычной форме логина для массового пользователя, под полями емейла-пароля. Но через какое-то время эту технологию поддержат больше провайдеров, и кнопок на всех не напасёшься. Тут уже можно будет для менее популярных вариантов использовать выпадающий список — тоже с фавиконами. Главное — не забыть для самых гордых оставить поле свободного ввода, где можно указывать произвольные сайты : )
конечно, это решение можно ещё дорабатывать, наполнять всякими свисточками-колокольчиками, но базовое мегаудобство видно уже сейчас. А теперь внимание: если ваш сайт уже принимает openid, то от вас требуется всего ничего! Буквально пара простейших строк в шаблоне:
<form method="post" action="/login/openid">
<input type="hidden" name="openid_identifier"
value="https://www.google.com/accounts/o8/id" />
<input type="submit" value="Login via Google" />
</form>
вы просто один раз заполняете значение openid, и вашим пользователям больше не придётся об этом думать. Так сделайте же это прямо сейчас! : )