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

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

Как это работает

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

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

Теперь посетитель является зарегистрированным пользователем Вашего интернет-магазина.

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

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

Самые популярные из таких служб - Loginza и ULogin .


Достоинства метода:

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

Недостатки:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сегодня Вы узнаете, как сделать авторизацию на сайте через такие популярные сервисы как Вконтакте, Facebook и Tweeter. Добавлять авторизацию через эти соц. сети мы будем с помощью специальных сервисов: Loginza и его аналога uLogin. Показывать буду на примере сайта wordpress, посмотреть как это выглядит Вы можете на моем тестовом блоге.

Авторизация через социальные сети с помощью uLogin

Сервис доступен и понятен даже рядовому пользователю интернета. Поддерживает все известные системы управления контентом и многие социальные сети (в том числе одноклассники, mail и Google +). Для установки авторизации переходим на сервис , выбираем нужную платформу (в данном случае wordpress) и кликаем по “ссылка на страницу плагина”:

Нам предложат скачать плагин на компьютер, выбираем папку, куда хотим сохранить архив и скачиваем. Затем распаковываем архив в любую папку на диске и с помощью любого файлового менеджера (я, например, пользуюсь Total Commander’ом) загружаем папку на сайт в директорию wp-content/plugins.

Теперь остается активировать плагин в админке. Переходим в админку, раздел плагины, напротив “uLogin” жмем «активировать». Все! Теперь на нашем вордпресс сайте появилась возможность авторизации и комментирования через самые известные социальные сети:

Если в админке зайти в раздел “плагины”, то там можно увидеть подпункт uLogin, который отвечает за настройку формы:

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

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

Как видим, сложного ничего нет, и вся установка займет у Вас всего пару минут.

& lt;? php echo ulogin_panel() ; ?& gt;

Установка авторизации через социальные сети с помощью сервиса Loginza

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

Переходим в раздел “мой виджет Loginza” и добавляем нужный сайт:

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

После подтверждения прав мы можем спокойно настраивать окно по своему желанию:

На странице “Настройки” размещены Ваш персональный ID и Секретный ключ, они нужны для настройки виджета после установки его на сайт:

На странице “Оформление” можно настроить внешний вид окна с помощью файла style.css. Если Вы разбираетесь в данном файле, то можете поэкспериментировать, если не разбираетесь, то лучше оставьте все без изменений. На вкладке “Просмотр” можно увидеть результат своей работы:

Раздел “Статистика” показывает количество авторизованных пользователей с помощью данного виджета:

На вкладке “HTML код” размещен соответственно html код данной формы.

Выбираем “Плагин WordPress” и скачиваем его к себе на компьютер. С помощью любого файлового менеджера закидываем плагин в директорию wp-content/plugins. Активируем плагин, и в админке у нас появится раздел “Loginza”, заходим в него.

С помощью аккаунта в социальной сети ВКонтакте, Одноклассники, Mail.ru, Facebook, Twitter или Google можно авторизовываться на Яндексе без регистрации и ввода пароля. Для этого достаточно нажать логотип вашей социальной сети на форме:

Пример авторизации через Facebook

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


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

Вопросы и ответы

Зачем заводить логин и пароль на Яндексе?

Логин и пароль на Яндексе могут быть необходимы для доступа к некоторым сервисам - например, для использования Почты или Диска.

Что делать, если я забыл пароль от социальной сети и не могу войти на сервисы Яндекса?

Как назвать сотруднику службы поддержки Яндекса свой логин

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



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

Кроме того, в любой момент вы можете заблокировать доступ Яндекса к вашему профилю: просто удалите его со страницы .

Есть полезная конкретная информация о технической реализации.

А если вкратце, то...

Для авторизации, регистрации используется все та же таблица "users". Вместе с обычной регистрацией и авторизацией, когда при регистрации (в самом простом виде) в таблицу "users" добавляются email, password и login пользователя, а при авторизации проверяется соответствие введенных login"а и password"а существующим в базе данных, аналогичным образом используется и регистрация/авторизация через социальные сети. Только в данном случае источником данных о пользователе для его регистрации является не непосредственный пользователь, который вводит данные в форму, а соц. сеть. Регистрация в данном случае достаточно прозрачная, т.е. не видна пользователю. Схема примерно следующая (без особенностей работы Oauth-протокола):


1) Пользователь выбирает вход через соц. сеть.
2) Происходит обращение к странице авторизации в этой соц. сети, если человек еще не авторизовывался там. После ввода данных, а если он ранее авторизовывался, происходит запрос на разрешение использования его данных.
3) Если человек отказывается, то на этом конец. Если дает согласие, то выполняется перенаправление на указанную в настройках Oauth страницу сайта.
4) У каждого пользователя в соц. сетях есть свой уникальный идентификатор, который можно запрашивать. Для своей таблицы "users" нужно добавить пару дополнительных полей (например, вот такие): auth_via (enum("native, "vk", "mailru", "...")) - для обозначения типа регистрации пользователя, и social_id - здесь будет храниться уникальный идентификатор в соц. сети. Если нужно хранить какие-то специфические данные этого пользователя из соц. сетей, то можно создать доп. поля для этих данных.
5) После того, как пользователь дал разрешение на использование его данных, необходимо запросить нужные данные от соц. сети, в т.ч. и идентификатор пользователя в соц. сети. Вот здесь и начинается невидимый процесс регистрации. Нужно проверить есть ли в БД пользователь с таким social_id, если нет, то вставляем social_id, данные пользователя из соц. сети, по необходимости, в БД. Все, пользователь зарегистрирован.
Если же данные о пользователе есть, то необходимо запросить актуальные данные из соц. сети, сравнить их с теми, что в базе и если они изменились, то обновить их и в своей базе данных, если нет, то просто переходим к следующему шагу.
6) Создается сессия с данными пользователя.

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

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

"AND WHERE `auth_via`="native""

Чтобы исключить пользователей, зарегистрированных из соц. сетей.

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