Регистрация/авторизация через виджет "Войти через ВКонтакте" в один клик

Странно, что такого плагина еще нет (может плохо искал). Предлагаю создать самый простой плагин авторизации/регистрации через готовый виджет «Войти через ВКонтакте» в один клик. Основное отличие от существующих плагинов — отсутствие необходимости создавать приложение ВКонтакте, а также отсутствие необходимость пользователю давать какие-либо разрешения, которые обычно отпугивают их.



Суть плагина предельно проста: отображает такую кнопку (предварительно созданную ВКонтакте владельцем сайта, т.к. кнопки для каждого уникальны) в окне авторизации/регистрации Livestreet, а также в месте для комментов для неавторизованных.

При клике по кнопке отправляется запрос в ВК, и обратно в GET'е возвращаются фото и имя юзера (на них не нужно вообще никаких разрешений), а также проверочный хэш:
?uid=1234567&first_name=Иван&last_name=Иванов&photo=/images/camera_a.gif&photo_rec=/images/camera_c.gif&hash=29b5d17e497976d1e74250246b2b9bcb

Задача плагина эти данные забрать из GET'а и создать юзера, сразу же его авторизовав. Логин делать либо равный id/логину ВКонтакте, либо транслитерированное имя и фамилия (желательна регулировка этой опции). Ну и после всего этого редирект обратно на страницу, с которой была нажата кнопка в виджете.

Кстати, нужно еще спросить у него e-mail. Жаль, что без него никак, а то было бы самое прозрачное решение: клик и ты мгновенно авторизован.

Дополнительная документация по механизму работы виджета есть по ссылке выше не дает постить ссылки — заходим ВКонтакте -> Разработчикам -> Виджеты и сторонние сайты -> Авторизация. Правда, там все настолько элементарно, что читать особо нечего. Подобную штуку я уже писал для другого самписаного сайта. За этот плагин взялся бы и сам, да только в коде LiveStreet не разбираюсь — боюсь, больше времени убъю на это. Кроме того, плагин крайне юзабельный должен получиться, что на нем можно было бы неплохо заработать. Дерзайте. Я ваш первый покупатель.

UPD: Посмотреть, как работа этого плагина может выглядеть, можно здесь.
Когда мы только начали заниматься веб-разработкой, то целенаправленно сделали ставку на бесплатные ftp и ssh клиенты. Это помогло сэкономить нам на первом этапе кучу денег.

50 комментариев

avatar
ну вроде есть openid там ест не только через ВК но и через другие соц сети.

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

ну тогда это другой вопрос, но тут всего минус 1 клики :) не на столько уж сложно, но проще согласен
avatar
Да, именно. Имя, фамилия и фото человека отдается без всяких разрешений, потому человек даже не увидит редиректа на ВК.
avatar
даже так, даже редиректа не будет, тогда это безумно интересно!

на сколько я знаю я видел такое и для фейсбука… да стоит задуматься почему нет такова плагина
avatar
А теперь посмотрите сколько запросов отправляет этот виджет. И плевать, что они идут на сервер контакта. Сайт все равно по факту начнет тормозить. После того, как Я увидел что виджет групп ВК тянет аж 25 запросов за собой, решил не пользоваться этими виджетами вообще.
avatar
Ничто не мешает оставить виджет только на странице регистрации/авторизации.
avatar
Тогда придется страницы авторизации и регистрации выносить в другие страницы. Либо подгружать формы аяксом.
Не подумайте, Я не фанатик минимализма, но Я стараюсь облегчить свои сайты. И если там много графики, с этим мало, что можно поделать — максимум сжать и объединить в спрайты, если это не новостные афиши например. И Я не побрезгую хорошим расширением если оно тянет несколько запросов, но эти виджеты просто ужас какой то… Что твиттера, что ВК, что ФБ. Правда авторизация через ФБ меньше всего тянет. Безусловно не мне судить таких разработчиков. Я всего лишь быдлокодер, но черт побери не по 20 запросов за пару кнопок!
avatar
Откройте для себя асинхронную загрузку скриптов JavaScript и у вас не будет подобных тормозов
avatar
Спасибо кэп, однако при большом кол-ве запросов она не поможет.
avatar
Откуда большее кол-во запросов возьмется-то? Это на клиенте подтягивается. Или у него с десяток одинаковых логин-виджетов на странице будет?
avatar
А Вы думаете этот виджет один запрос отправляет?
avatar
Спасибо, кеп, я не первый день на свете живу про FireBug и другие отладчики (Google Chrome, Opera) в курсе. :)
avatar
однако при большом кол-ве запросов она не поможет
Откуда запросов появится больше чем уже есть от виджета? При условии что этот виджет на странице в единственном экземпляре.
avatar
Недавно поднималась подобная тема. Там человек даже 500 рублей готов был пожертвовать.
Я бы мог сделать такой плагин, если бы заинтересованных людей было побольше…
avatar
Я думаю, такому плагину место в топе по скачиваниям обеспечено. То, что здесь комментаторов мало — не показатель. Главное в описании ясно сказать, чем он превосходит конкурентов.
avatar
Думаю, наоборот: хороший показатель…
avatar
ну человек относительно прав, это альтернатива куда лучше чем openid, если такую систему будут поддерживать не только фейсбук и вк но и твитер например или еще кто…

то есть поддерживать так сказать мгновенную автризацию
avatar
Насчет сразу нескольких соцсетей сложнее. Тут вся фишка в том, что виджет генерит сам ВК — его невозможно изменить внешне. Т.е. на каждую соцсеть будет свой аляпистый виджет, потому, имхо, либо один ВК, либо вообще без соцсетей. Просто я не люблю такое загромождение виджетами. Но это только то, что касается меня.
avatar
та можно все виджеты акуратно запихунть в попап какой нить
avatar
интересует. + 1 коментарий
avatar
Добавил в пост ссылку на демонстрацию механизма работы такой регистрации/авторизации.
  • Mac
  • 0
avatar
Недавно думал о таком виджете и вот про него написали. Я бы купил такой плагин за любые разумные деньги. Не знаю, есть ли возможность такой авторизации в других соц. сетях, но если она есть, неплохо было бы оформить это все в настройки плагина: ткнул галочку — кнопка авторизации показывается. А шаблон вывода каждый может настроить по своему усмотрению.
avatar
Я в доле + 1 на покупку данного плагина.
Ps. Если будете формировать базу заказчиков не забудьте меня))
avatar
я правильно понимаю что что такой гет-запрос можно подменить вручную без ВК и наплодить юзеров?
avatar
Для защиты имеется проверочный хэш.

P.S. Кстати, при такой регистрации плагин должен сам активировать пользователя без подтверждения на мыло (только для тех, кто регистрируется через ВК, разумеется).
avatar
я уже проверил. это решето.

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

Так что нужна проверка и почты и каптчи, если потом не хотите писать топики "заспамили весь сайт ((("
avatar
Что-то мне непонятно, откуда злоумышленник возьмет ваш secret_key для генерации правильного хэша?
avatar
аякс его же сам и посылает )
avatar
Достаточно будет случайного вопроса. Например «Какого цвета шапка сайта».

Человек кликает на кнопку, данные сохраняются в кеш, а после правильного ответа заносятся в БД.
_________________________________________________________________
Насчет плагина, собрать по 5$ 10-20человек и заказать на фрилансе. Я участвую )
+ facebook (так будет универсальней)
avatar
Достаточно будет случайного вопроса. Например «Какого цвета шапка сайта».
вы думаете это программно нельзя обойти?

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

повторяю и удаляюсь с обсуждения топика:
нужна проверка и почты и каптчи
avatar
Если бот будет знать правильный ответ на случайный вопрос, то конечно можно «программно обойти». Но это уже зависит от фантазии владельца сайта, какие вопросы он придумает )

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

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

главное, что вы теперь в курсе.
avatar
+1. Пожертвую 50$ (~1500р.)
так как интересная затея
  • sedo
  • +1
avatar
Хотелось бы увидеть виджет «войти через ваш домен (сайт)» Так же как вход через социальные сети !=)
  • eax
  • 0
avatar
vamerike.com — попробуйте (там сейчас стоит объязательный ввод email, если в конфиге убрать это, авторизация через вк, твиттер, фб и другие сервисы — в 1 клик). Плагин — autoopenid.
avatar
Это не то. У вас используется полноценное API от ВК, требующее разрешений:
Приложение ВАмерике.ком запрашивает доступ к Вашему аккаунту.
Доступ к общей информации
Приложению будут доступны Ваши личные данные
Доступ к списку Ваших друзей
Приложению будет доступен список Ваших друзей


Я же предлагаю воспользоваться готовым виджетом от ВК, который не запрашивает никаких разрешений и позволяет сделать редиректы незаметными для пользователя.
avatar
Странно. Сам регился, такого не было. Тогда извиняйте…
avatar
Сделал у себя эту кнопку, установил первоначальную активацию пользователя с вводом логина, мыла и капчи что бы боты не догадались что тут лазейка. Получился урезанный autoopenid :(
avatar
Суперски, жду ;)
avatar
avatar
Очень даже неплохо! Почти то, что надо. Единственно я бы поменял некоторые мелочи для упрощения: логин не заставлять придумывать, а уже заполнить поле транслитерированным именем и фамилией из ВК (например, ivan_ivanov) с возможностью проверить и при необходимости поменять, но поле уже должно быть заполнено за пользователя. Пароль тоже не спрашивать, а просто сгенерить и отправить на почту. Еще бы от каптчи отказаться…

З.Ы. Если юзер без аватарки ВК, то баг вылезает — нет картинки.
avatar
Капча отключаемая, пароль генерируется и отсылается на почту самостоятельно, обязательны только логин и почта.
Остальное принял к сведению
avatar
Т.е. ручное задание пароля пользователем можно выключить в админке?

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

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

И скажите, как можно этот плагин у вас получить? Могу быть тестером перед выкладыванием в репозиторий.
avatar
AlikMis, будете выкладывать плагин в паблик?
avatar
Уже видел сие чудо AlikMis в работе) впечатляет)
avatar
Мне бы пригодилась такая же, ток через гугл. это возможно?
avatar
Возможно, уже реализовано в данной штуке
avatar
AlikMis, а в паблике будет твои труды?)
avatar
апчхи!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.