0

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

Если сайт или приложение требует, чтобы пользователь входил под своим аккаунтом, то наверняка вы рассматривали вариант входа через социальные сети. Статистика показывает, что пользователи считают Facebook, VK, Twitter, Google и другие социальные сети как удобные и надёжные способы для входа. Для разработчиков социальные сети означают дополнительную нагрузку кодом, а для опытных профессионалов – головная боль безопасности. Вот несколько вариантов добавления соц. медиа логинов для сайта или приложения.

 

Что соц. вход значит для вас

Отправка имён пользователь и паролей через Twitter, Facebook, Google и т.д. забирают бремя и технические сложности безопасности от вас. Большинство систем предоставляют несколько команд в бэкенде, например Ruby, которые подключаются к удаленным серверам для сощдания и обработки токенов.

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

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

 

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

Когда сайт показывает пользователям, к примеру регистрационную форму Google, введя свои учётные данные и нажав «Отправить», пользователь отправляет своё имя пользователя, пароль и идентификатор приложения в Google. Этот ID приложения состоит из серии символов, которые относятся к каждому ZURB приложению (например PatternTap и Forrst). Этот ID показывает сервису входу куда нужно перенаправить, если данные верны.

step1

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

step2

Но информация не может прийти из некуда. Чтобы подтвердить сайт отправляет в Google ещё один токен, который называется access token. Можно сказать, что он говорит: « Я только что получил request token. Он действительный?»

step3

Если Google отвечает: «Да, всё в порядке», то хосту даёт браузеру пользователя доступ к защищённому сайту. Как правило доступ даётся в форме сессии или куки.

step4

Предупреждение: Большинство сервисов требуют, добавления кода на ваш сайт. Например,  Google требует добавить JavaScript перед тегом </body>. У Facebook и остальных похожие требования. Эти фрагменты кода помогают проверять браузеры пользователей, сокращая попытки взлома.

 

Выбор параметров входа

Все: Twitter , Google, Facebook , LinkedIn и Pinterest  предлагают вход через них. Какой лучше для вас зависит от ваших целей и пользователей. Например, нужно дать пользователям один логин для вех наших свойств. Изначально предложили Twitter, Google, Facebook и email, но обнаружили, что это перебор.

Планируется упростить процесс, используя лишь Google и email. Экран входа часто это то, на что пользователи наталкиваются на сайте. Google показал более лучшие результаты. Он как бы говорит: «Вы собираетесь шагнуть в профессиональный, уровня предприятия, онлайн инструмент». А  twitter и Facebook были «средними», более социальными, чем планировалось быть.

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

Помимо использования напрямую Facebook, Twitter, можно воспользоваться сторонними сервисами. Они позволяют пользователям использовать платформу по своему выбору.

  • OmniAuth: Простой способ добавить логин социальных сетей на ваш Rails проект.
  • Passport: Позволяет элементарно добавить все варианты в Node.js .
  • Meteor : Новый веб-фреймворк. Он включает в себя проверку подлинности авторизации соц. сетей.
↑ Наверх