Что такое вход через соц сеть. Вход с помощью социальных сетей

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

Как работает вход через соцсеть?

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

При этом сайт не «узнает» пароль от вашего аккаунта в социальной сети.

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

Обратите внимание

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

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

В целом это удобный способ сэкономить время и не вбивать заново все свои данные, которых бывает много для регистрации. При этом некоторые сайты дают возможность не только заполнить свой аккаунт, но и действовать от него, например, в комментариях, заодно отмечать публикации с этого сайта у себя на странице социальной сети . Часто подобной социальной авторизацией пользуются спортивные приложения и сайты, где после авторизации можно найти друзей, следить за их спортивными успехами, делиться с ними достижениями, соревноваться. Многие организации и производители стараются максимально войти в жизнь пользователей, и социальные сети — один из путей.

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

По материалам службы поддержки Агента Mail.Ru

Итак, приступим к технический части. Для этого мы создадим и настроим новое приложение в социальной сети. После чего напишем класс, который будет взаимодействовать с API «ВКонтакте»: устанавливать соединение и получать данные о пользователе. В результате проделанных действий, мы сможем авторизовать пользователя у себя на сайте.

Создаём новое приложение «ВКонтакте»

Перед тем, как писать код, нам нужно зарегистрировать новое приложение. Делается это просто, заходим в свой профиль, переходим в раздел приложения и в нем кликаем на кнопку «Управление». В этом разделе вы увидите список всех приложений, которыми вы пользуетесь и кнопку «Создать приложение», жмём по ней. Заполняем название и выбираем пункт «Веб-сайт».

После этого появятся два новых поля, которые также заполняем и жмём «Подключить сайт». В следующем окне вам останется подтвердить регистрацию.


Вот так просто и быстро регистрируется новое приложение «ВКонтакте». Теперь переходим в настройки и копируем ID приложения и защищенный ключ в блокнот. На этом работа с социальной сетью заканчивается.


Пишем класс для работы с API

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

Class VKAuth{ public $settings = array(); public $auth_status = false; public $user_info = array(); public function __construct($settings){ } public function auth($code){ } public function get_link(){ } }

  • settings – отвечает за хранение настроек для подключения к API;
  • auth_status – статус аутентификации, если пользователь пройдет, то значение изменяться на true;
  • В конструкторе мы будем принимать настройки для подключения, и сохранять в переменную settings;
  • auth – метод, который будет производить соединение с API и вытягивать нужные нам данные (принимает код для получения ключа доступа);
  • get_link – метод генерирующий путь ссылки для аутентификации.

Теперь давайте рассмотрим каждый из методов подробно:

1. Конструктор:

Как и было раннее оговорено, мы принимаем настройки и сохраняем их в переменную settings. Для надёжности проверяем наличие их при помощи функции isset().

Public function __construct($settings){ if(isset($settings["client_id"], $settings["client_secret"], $settings["redirect_uri"])){ $this->settings = $settings; } }

С начала мы проверяем наличие переменных code и settings. Если всё нормально, то формируем первый запрос, который будет состоять из массива данных, обёрнутых в две функции.

urldecode() – декодирует %## символы в url.

http_build_query() – генерирует строку запроса.

После того, как мы обратимся по сформированному адресу, нам в ответ придет json строка. Для удобства, получаемые данные мы преобразуем в массив, делается это путем передачи у функции json_decode() второго параметра true. Данный массив будет содержать три ячейки: access_token, expires_in и user_id.

Идём дальше, проверяем наличие токена и формируем новый запрос на получение данных пользователя. В нашей функции мы будем сохранять: id, имя, фамилию и аватарку. Для этого через запятую в ячейку fields поместим строку с параметрами «uid,first_name,last_name,photo_100». Какие ещё данные пользователя можно получить описаны в документации объекта user . Обращаемся по новой ссылке и получаем ответ в виде массива. Проверяем наличие принятых данных и сохраняем их в переменную user_info (принятый массив является многомерным, данные будут храниться в нулевой ячейке response), а так же значение auth_status меняем на true и возвращаем true.

Public function auth($code){ if($code && $this->settings){ $query = urldecode(http_build_query(array("client_id" => $this->settings["client_id"], "client_secret" => $this->settings["client_secret"], "code" => $code, "redirect_uri" => $this->settings["redirect_uri"]))); $token = json_decode(file_get_contents("https://oauth.vk.com/access_token?".$query), true); if(isset($token["access_token"])){ $query = urldecode(http_build_query(array("uids" => $token["user_id"], "fields" => "uid,first_name,last_name,photo_100", "access_token" => $token["access_token"]))); $this->user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?".$query), true); if(isset($this->user_info["response"]["uid"])){ $this->user_info = $this->user_info["response"]; $this->auth_status = true; return true; } } } return false; }

Первым делом проверяем наличие настроек, а далее формируем путь для ссылки. Функции, которые используются, описаны выше. Когда пользователь нажмёт на ссылку с этим путём, то его перебросит на страницу c параметром code в адресной строке – код для получения токена.

Public function get_link(){ if($this->settings){ $query = urldecode(http_build_query(array("client_id" => $this->settings["client_id"], "redirect_uri" => $this->settings["redirect_uri"], "response_type" => "code"))); return "https://oauth.vk.com/authorize?".$query; } return false; }

Простая авторизация

На этом этапе – всё довольно рационально. После того как вы подключите класс к файлу, останется получить экземпляр VKAuth, передав ему настройки. Ниже описываем простой обработчик, который отлавливает переменную $_GET и проверяем аутентификацию.

Require_once("VKAuth.php"); $vk = new VKAuth(array("client_id" => "ID_приложения", "client_secret" => "защищенный_ключ", "redirect_uri" => "адрес_сайта")); if(isset($_GET["code"])){ if($vk->auth($_GET["code"])){ // Делаем свои дела } }

Далее, чтобы произвести авторизацию, вам нужно будет проверить наличие пользователя у себя в базе данных и, если его нет, то добавить. В противном случае обновить его данные (перед обновлением желательно проверить - изменились ли они). Касательно базы данных обычно добавляют два поля: тип авторизации и id пользователя в социальной сети. Вот так осуществляется аутентификация и авторизация через социальную сеть «ВКонтакте».

В архиве вы найдёте готовый пример работы с классом VKAuth, где выводятся данные пользователя.

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

Причин, по которым пользователи отказываются от стандартной регистрации на сайте, можно насчитать не один десяток, однако из них можно выделить основные:

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

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

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

Способы авторизации через социальные сети для владельцев сайтов

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

Вариантов организации входа на сайт через социальные сети хватает.

Сервисы авторизации

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

Наиболее популярные и распространенные сервисы авторизации - Slogin, ULogin и Loginza. Оба этих сервиса предлагают плагины практически для всех CMS, что делает их еще более привлекательными для новичков.

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

Преимущества:

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

Недостатки:

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

Компоненты и создание собственного приложения в социальной сети

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

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

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

Безопасна ли авторизация через социальные сети

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

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

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

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

Плюсы и минусы авторизации через социальные сети

  • Пользователям сайта нет необходимости заполнять регистрационные данные и придумывать новые логин и пароль
  • Вход на сайт по средствам социальных сетей происходит гораздо быстрее
  • Получение данных о пользователе

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

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

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

Как зайти на Вконтакте или Одноклассники без регистрации?

Если основная задача перехода на соц. сети не регистрируясь – это поиск людей, то намного проще воспользоваться специальным сервисом от Яндекса. Перейдите по ссылке yandex.ru/people и вы попадете в специальный поиск по людям. Достаточно указать имя и фамилию, чтобы получить список:

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

Аналогичным образом можно провести поиск в любых других соц. сетях. При использовании Вконтакте можно и не переходить на Яндекс.Люди. Там поиск по пользователям открыт для всех. Введите в адресной строке vk.com/search и откроется нужная вам страница:

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

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

Одноклассники без регистрации

Просто перейдите на этот сайт и на главной странице вы увидите популярные записи и видеоролики:

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

Посещайте соц сети, несмотря на ограниченные функции, вы всё равно сможете просматривать профили и почти весь контент. Если этого вам будет недостаточно, но вы не хотите пользоваться своим профилем, то лучший вариант – это создание дополнительной страницы. Нет свободного номера телефона? Купите готовый аккаунт на Buyaccs.com. В этом интернет-магазине продаются профили почти от всех соц. сетей:

Стоимость зависит от того, насколько заполнен аккаунт и сколько на нем друзей. Оплачивать можно любыми способами, с банковских карт, электронными деньгами и даже перевести с баланса телефона (через Робокассу). Потратив немного денег, вы получите профиль и сможете использовать социальные сети без регистрации.

Такими сайтами как Вконтакте, Одноклассники, Facebook и Twitter пользуются в различных целях, но нельзя забывать, что все они подходят для удаленной работы. Узнайте и пользуйтесь ими, выполнив простейшие действия, вы легко получите небольшие деньги, чтобы купить себе аккаунты или оплатить мобильную связь.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: