Рабоче-крестьянское
Вчера Facebook запустила программу Facebook Connect, которая позволяет другим сайтам с социальными элементами принимать логины из Facebook.
Происходит это за счет добавления на свой сайт библиотеки на JavaScript и прописывания в коде <fb:login-button></fb:login-button>, что при заходе на сайт посетителем с JavaScript в броузере будет преобразовано в кнопку “Залогиниться через Facebook”, если фейсбуковского куки на жестком диске нет, либо же “Вы залогинены” с фоткой пользователя или что-то подобное.
При этом сайт получает доступ к дереву друзей пользователя и к юзерпикам пользователей. Понятное дело, что если пользователь изменит свой юзерпик на Facebook, это будет отражено на сайте, который использует Connect.
Предвидя некоторые вопросы, можно дать часто предлагаемые ответы:
- А почему <fb:login-button></fb:login-button>? Вы не прочитали книжку “XML для тупых” дальше четвертой страницы, где рассказывалось, что это можно написать как <fb:login-button />? – Connect в процессе загрузки JavaScript-библиотеки перепишет DOM страницы, на которой вызван. И подменит этот код необходимой картинкой с надписью, т.е. перепишет XML-ноуд. В Firefox есть такой баг, где ноуды, закрытые /, а не полностью, переписаны быть не могут, хотя и могут быть прочитаны. Сремонтируют баг – будет экономия на 50% в плане необходимого кода для показа кнопки.
- У меня эта функция не работает в Интернет Эксплорере шестой версии. – Это да. Эффективный способ решения проблемы – апгрейд броузера. Если такой способ не подходит, то придется подождать. Конкретных дат пока нет.
- А где можно посмотреть пример использования Connect? – Скажем, вот он интегрирован в блог TechCrunch для комментариев. Еще есть такой сайт CBS Insider, где такие логины тестирует на одном из своих проектов медиа-компания. Еще есть CNN, но там слегка геморройно в том плане, что вначале надо зарегистрироваться на CNN, потом уже залогиниться через Facebook, и попросить объединить оба аккаунта. И есть сайт рецензий CitySearch.
- А как мне ее интегрировать на свой сайт? – Документацию можно прочитать здесь. Подробности интеграции зависят от того, регистрируете ли Вы пользователей на сайте сегодня, хотите ли предоставлять свою форму для логина попутно с логином от Facebook, хотите ли предлагать существующим пользователям объединить существующий логин с аккаунтом на Facebook и т.д. После этого можно подать заявку на одобрение.
- У меня есть сайт с кучей зарегистрированных пользователей. Смысл внедрять дополнительные логины? – Каждый сайт может генерировать новости о действиях пользователя и отправлять их в Ленту новостей на Facebook, где эту новость увидят друзья пользователя. В новости можно проставлять свои ссылки, т.е. получать траффик от друзей, заинтересованных в новостях от этого пользователя.