В этой статье мы обсудим то, как можно упростить процесс регистрации пользователей на вашем ресурсе, используя возможности социальных сетей. Говоря о регистрации через социальные сети, мы говорим не только об упрощении процесса, но и получение социального графа пользователей.
Одной из первых технологий в этой области выступал протокол OpenID. Этот протокол поддержали многие крупные игроки рынка такие как Google, Yandex, Twitter, ЖЖ и другие. Схема работы выглядит так, что человек, имеющий openID идентификатор может использовать его для аутентификации на сторонних, ресурсах, поддерживающих этот протокол. Т.е. ему не нужно указывать логин и пароль, а достаточно ввести свой openID.
Первая версия протокола openID 1.0 не давала возможность передавать социальный граф пользователя, затем появилась вторая версия, которая была более продвинута в этом вопросе, но примерно в это же время появился протокол Oauth, который предоставил широкие возможности в области получения социального графа пользователей. И такие игроки как Facebook, Vkontakte, Google, Yandex, Mail стали его поддерживать.
Затем появился сервис Loginza, который объединил в себе openID- провайдеров и предоставил понятный интерфейс для конечного пользователя. В начале 2011 года Loginz’у выкупил Яндекс. Loginza устанавливается на сайты, блоги, как плагин, который дает возможность пользователям входить на сайты через уже существующие аккаунты.
Какие возможности дает протокол OpenID? По большому счету, он позволяет только удостовериться в том, что человек, зашедший на сайт является именно тем, кем он представился, т.е. openID позволяет аутентифицировать пользователя, подтвердив его личность у провайдера.
В отличие от openID, протокол Oauth дает возможность не только идентифицировать личность пользователя, но и получить некие его данные, и с его согласия производить ряд действий, например публиковать информацию на стены в соц. сетях, присылать уведомления и т.д.
Давайте рассмотрим как работает этот протокол на примере Яндекса. Теперь пользователю для того, чтобы зарегистрироваться на портале необязательно заводить отдельные логин и пароль, а достаточно воспользоваться одной из учетных записей в соц. сетях, которая у него уже есть.
После того, как человек, выбирает, допустим, вход через Vkontakte, Яндекс запрашивает у пользователя разрешение на использование его данных. API социальных сетей позволяет варьировать набор данных и действий, доступ к которым можно получить через Oauth. И пользователю дается возможность согласиться или запретить внешнему ресурсу их использовать. Также пользователь может сам решать что именно он разрешает ресурсу, а что нет, отмечая галочками пункты на выбор.
После того, как пользователь дает свое согласие на использование его данных, Яндекс уточняет заводить новый аккаунт, основываясь на данных, полученных из социальной сети (имя, возраст, пол и т.д.) или же связать учетную запись соц. сети с уже существующей на портале. В случае, когда происходит связка аккаунтов, портал получает больше информации о том пользователе, который у него уже зарегистрирован, пользователь в свою очередь получает более быстрый доступ к аккаунту, которым он уже пользовался. Технически привязка аккаунтов - очень трудоемкий процесс и надо понимать, что не на каждом проекте можно ее реализовать.
Давайте рассмотрим некоторые ситуации, которые могут возникнуть при использовании регистрации через соц. сети.
1. Пользователь уже был зарегистрирован на вашем сайте.
Затем вы ввели функцию регистрации через соц. сети. Видя возможность входа через Vkontakte или Facebook пользователь думает: “Почему бы мне не зайти через свой аккаунт на FB - это же гораздо быстрее” и нажимает кнопочку FB. После этого он становится новым пользователям для сайта (мы рассматриваем случай, когда нет технических ресурсов организовать связку аккаунтов). При этом человек может не осознавать, почему у него раньше был заполненный профиль, а теперь он пуст или заполнен информацией из соц. сети, но нет его сообщений, фотографий и т.д. Соответственно, решить эту ситуацию можно либо организовав связку аккаунтов, либо объяснить пользователям механизм, возможно, при помощи подсказок, во избежании недоразумений.
2. Пользователь заходит через разные аккаунтов соц. сетей
Ситуация примерно похожа на предыдущую тем, что человек изначально мог зайти, допустим, через Vkontakte, “обжить” свой аккаунт, затем забыть через что он входил, войти через Twitter и опять столкнуться с пустым профилем. Из вариантов решения: при введении подобной регистрации, выводить подсказки или сохранять cookies на компьютере пользователя, определять что этот человек входил через VK и давать ему подсказку об этом, но всегда нужно смотреть на стоимость реализации того или иного способа, зачастую это нецелесообразно.
Из-за входа на ваш ресурс с разных аккаунтов у пользователя может теряться ощущение его “собственного пространства”, которое он улучшает, каждый раз заходя на сайт. Поэтому прежде чем реализовывать вход на ваш сайт через соц. сети, вам нужно подумать над такими вопросами, как “А нужно ли мне делать возможность входа через много соц. сетей или моя ЦА вся сидит во Vkontakte и его кнопочки мне будет достаточно?” или же “А нужна ли мне обычная регистрация с логином и паролем?” или “Мне не важно, чтобы человек прокачивал свой профиль, мне важно чтобы он мог быстро и легко зайти на мой сайт”.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.