Если сайт или приложение требует, чтобы пользователь входил под своим аккаунтом, то наверняка вы рассматривали вариант входа через социальные сети. Статистика показывает, что пользователи считают Facebook, VK, Twitter, Google и другие социальные сети как удобные и надёжные способы для входа. Для разработчиков социальные сети означают дополнительную нагрузку кодом, а для опытных профессионалов – головная боль безопасности. Вот несколько вариантов добавления соц. медиа логинов для сайта или приложения.
Что соц. вход значит для вас
Отправка имён пользователь и паролей через Twitter, Facebook, Google и т.д. забирают бремя и технические сложности безопасности от вас. Большинство систем предоставляют несколько команд в бэкенде, например Ruby, которые подключаются к удаленным серверам для сощдания и обработки токенов.
Они также позволяют упростить вход для конечных пользователей, которым не нужно запоминать очередной пароль.
Недостатки вытекают из скомпроментированной безопасности: если пароль соц. сетей был украден: то всё что с ним связано находится под угрозой. К счастью, крупные компании относятся к безопасности серьёзно.
- Facebook: руководство по безопасности
- Twitter: руководство по безопасности
- Google: политика безопасности
Как это работает
Когда сайт показывает пользователям, к примеру регистрационную форму Google, введя свои учётные данные и нажав «Отправить», пользователь отправляет своё имя пользователя, пароль и идентификатор приложения в Google. Этот ID приложения состоит из серии символов, которые относятся к каждому ZURB приложению (например PatternTap и Forrst). Этот ID показывает сервису входу куда нужно перенаправить, если данные верны.
Предполагая, учетные данные пользователя верны, Google (или другая социальная сеть) посылает request token к веб-хостингу, которым служит сам сайт.
Но информация не может прийти из некуда. Чтобы подтвердить сайт отправляет в Google ещё один токен, который называется access token. Можно сказать, что он говорит: « Я только что получил request token. Он действительный?»
Если Google отвечает: «Да, всё в порядке», то хосту даёт браузеру пользователя доступ к защищённому сайту. Как правило доступ даётся в форме сессии или куки.
Предупреждение: Большинство сервисов требуют, добавления кода на ваш сайт. Например, Google требует добавить JavaScript перед тегом </body>. У Facebook и остальных похожие требования. Эти фрагменты кода помогают проверять браузеры пользователей, сокращая попытки взлома.
Выбор параметров входа
Все: Twitter , Google, Facebook , LinkedIn и Pinterest предлагают вход через них. Какой лучше для вас зависит от ваших целей и пользователей. Например, нужно дать пользователям один логин для вех наших свойств. Изначально предложили Twitter, Google, Facebook и email, но обнаружили, что это перебор.
Планируется упростить процесс, используя лишь Google и email. Экран входа часто это то, на что пользователи наталкиваются на сайте. Google показал более лучшие результаты. Он как бы говорит: «Вы собираетесь шагнуть в профессиональный, уровня предприятия, онлайн инструмент». А twitter и Facebook были «средними», более социальными, чем планировалось быть.
Поскольку email использовался в качестве уникального индентификатора, то можно было использовать логины полизователей Facebook. Те кто входил с помощью Google, также могли войти с помощью своей электронной почты.
Помимо использования напрямую Facebook, Twitter, можно воспользоваться сторонними сервисами. Они позволяют пользователям использовать платформу по своему выбору.